new.target is guaranteed to be a constructable function value or undefined. In class constructors, it refers to the class that new was called upon, which may be a subclass of the current constructor, because subclasses transitively call the superclass's constructor through super(). In ordinary functions, if the function is constructed directly with new, new.target refers to the function itself. If