function Human(name) { this.name = name; return {}; } let one = new Human('c1er'); console.log(one); //输出空对象 Object { }以上述代码为例:
String(new function(){ return String('foo'); }) "[object Object]"B:String()作为构造函数来用时,返回了一个字符串包装对象。
String(new function(){ return new String('foo'); }) "foo"
console.log(typeof String('foo')); // string console.log(typeof new String('foo')); // object let a = new function() { return String('foo'); } let b = new function() { return new String('foo'); } console.log(typeof a); // {} console.log(typeof b); // String {"foo"}
1、将值转为原始值,ToPrimitive()。
2、将值转为数字,ToNumber()。
3、将值转为字符串,ToString()。