Tests for ES6 class constructor return values On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Base class PASS (new BaseNoReturn) instanceof BaseNoReturn PASS (new BaseReturnImplicit) instanceof BaseReturnImplicit PASS (new BaseReturnImplicit) !== undefined PASS (new BaseReturnUndefined) instanceof BaseReturnUndefined PASS (new BaseReturnUndefined) !== undefined PASS (new BaseReturnThis) instanceof BaseReturnThis PASS (new BaseReturnObject) instanceof BaseReturnObject PASS typeof (new BaseReturnObject) === "object" PASS (new BaseReturnObject2) instanceof BaseReturnObject PASS (new BaseReturnObject2) === globalVariable PASS (new BaseReturnString) instanceof BaseReturnString PASS typeof (new BaseReturnString) !== "string" PASS (new BaseReturnNumber) instanceof BaseReturnNumber PASS typeof (new BaseReturnNumber) !== "number" PASS (new BaseReturnNull) instanceof BaseReturnNull PASS (new BaseReturnNull) !== null PASS (new BaseReturnSymbol) instanceof BaseReturnSymbol PASS (new BaseReturnSymbol) !== globalSymbol PASS (new BaseThrow) Function constructor (non-class) PASS (new FunctionNoReturn) instanceof FunctionNoReturn PASS (new FunctionReturnImplicit) instanceof FunctionReturnImplicit PASS (new FunctionReturnImplicit) !== undefined PASS (new FunctionReturnUndefined) instanceof FunctionReturnUndefined PASS (new FunctionReturnUndefined) !== undefined PASS (new FunctionReturnThis) instanceof FunctionReturnThis PASS (new FunctionReturnObject) instanceof FunctionReturnObject PASS typeof (new FunctionReturnObject) === "object" PASS (new FunctionReturnObject2) instanceof FunctionReturnObject PASS (new FunctionReturnObject2) === globalVariable PASS (new FunctionReturnString) instanceof FunctionReturnString PASS typeof (new FunctionReturnString) !== "string" PASS (new FunctionReturnNumber) instanceof FunctionReturnNumber PASS typeof (new FunctionReturnNumber) !== "number" PASS (new FunctionReturnNull) instanceof FunctionReturnNull PASS (new FunctionReturnNull) !== null PASS (new FunctionReturnSymbol) instanceof FunctionReturnSymbol PASS (new FunctionReturnSymbol) !== globalSymbol PASS (new FunctionThrow) Derived class calling super() PASS (new DerivedNoReturn) instanceof DerivedNoReturn PASS (new DerivedReturnImplicit) instanceof DerivedReturnImplicit PASS (new DerivedReturnImplicit) !== undefined PASS (new DerivedReturnUndefined) instanceof DerivedReturnUndefined PASS (new DerivedReturnUndefined) !== undefined PASS (new DerivedReturnThis) instanceof DerivedReturnThis PASS (new DerivedReturnObject) instanceof DerivedReturnObject PASS typeof (new DerivedReturnObject) === "object" PASS (new DerivedReturnObject2) instanceof DerivedReturnObject2 PASS (new DerivedReturnObject2) === globalVariable PASS (new DerivedReturnString) PASS (new DerivedReturnNumber) PASS (new DerivedReturnNull) PASS (new DerivedReturnSymbol) PASS (new DerivedThrow) Derived class not calling super() PASS (new DerivedNoSuperNoReturn) PASS (new DerivedNoSuperReturnImplicit) PASS (new DerivedNoSuperReturnUndefined) PASS (new DerivedNoSuperReturnThis) PASS (new DerivedNoSuperReturnObject) PASS (new DerivedNoSuperReturnObject2) PASS (new DerivedNoSuperReturnString) PASS (new DerivedNoSuperReturnNumber) PASS (new DerivedNoSuperReturnNull) PASS (new DerivedNoSuperReturnSymbol) PASS (new DerivedNoSuperThrow) Derived class with default constructor and base class returning different values PASS (new DerivedDefaultConstructorWithBaseNoReturn) instanceof DerivedDefaultConstructorWithBaseNoReturn PASS (new DerivedDefaultConstructorWithBaseReturnImplicit) instanceof DerivedDefaultConstructorWithBaseReturnImplicit PASS (new DerivedDefaultConstructorWithBaseReturnUndefined) instanceof DerivedDefaultConstructorWithBaseReturnUndefined PASS (new DerivedDefaultConstructorWithBaseReturnObject) instanceof DerivedDefaultConstructorWithBaseReturnObject PASS typeof (new DerivedDefaultConstructorWithBaseReturnObject) === "object" PASS (new DerivedDefaultConstructorWithBaseReturnObject2) instanceof DerivedDefaultConstructorWithBaseReturnObject2 PASS (new DerivedDefaultConstructorWithBaseReturnObject2) === globalVariable PASS (new DerivedDefaultConstructorWithBaseReturnThis) instanceof DerivedDefaultConstructorWithBaseReturnThis PASS (new DerivedDefaultConstructorWithBaseReturnString) instanceof DerivedDefaultConstructorWithBaseReturnString PASS (new DerivedDefaultConstructorWithBaseReturnNumber) instanceof DerivedDefaultConstructorWithBaseReturnNumber PASS (new DerivedDefaultConstructorWithBaseReturnNull) instanceof DerivedDefaultConstructorWithBaseReturnNull PASS (new DerivedDefaultConstructorWithBaseReturnSymbol) instanceof DerivedDefaultConstructorWithBaseReturnSymbol PASS (new DerivedDefaultConstructorWithBaseThrow) PASS successfullyParsed TEST COMPLETE