function construct(constructor, args) {
            if (!ES.IsConstructor(constructor)) {
                throw new TypeError('First argument must be a constructor.');
            }
            var newTarget = arguments.length > 2 ? arguments[2] : constructor;
            if (!ES.IsConstructor(newTarget)) {
                throw new TypeError('new.target must be a constructor.');
            }
            return ES.Construct(constructor, args, newTarget, 'internal');
        }
// New operator in a functional form.
New operator in a functional form.
New operator in a functional form .
function construct(constructor, args) {
            if (!ES.IsConstructor(constructor)) {
                throw new TypeError('First argument must be a constructor.');
            }
            var newTarget = arguments.length > 2 ? arguments[2] : constructor;
            if (!ES.IsConstructor(newTarget)) {
                throw new TypeError('new.target must be a constructor.');
            }
            return ES.Construct(constructor, args, newTarget, 'internal');
        }
function construct ( constructor , args ) { if ( ! ES . IsConstructor ( constructor ) ) { throw new TypeError ( 'First argument must be a constructor.' ) ; } var newTarget = arguments . length > 2 ? arguments [ 2 ] : constructor ; if ( ! ES . IsConstructor ( newTarget ) ) { throw new TypeError ( 'new.target must be a constructor.' ) ; } return ES . Construct ( constructor , args , newTarget , 'internal' ) ; }
New operator in a functional form.
New operator in a functional form .