###
第一个是 对象构造函数
第二个是 函数调用返回一个空字符串
第三个通过 new 构建了一个字符串对象
String
是个函数,你在 2、3 里也是那么用的- 没有入参,函数返回是
""
空串 new
一个对象
第一个不知道。
打印出来看看,是个函数哎。
第二个 String() 是个函数,String() 函数把对象的值转换为字符串。
String() 相当于是把空对象转成了空字符串,typeof 空字符串,输出 string
第三个 new String() 是调用构造函数创建实例对象,而且是个空的String对象,typeof 空对象,输出 object
let a = 'hello';
let b = String('hello');
let c = new String('hello');
a、b是基本类型,c是引用类型。
如有错误请指正哈
--手动分割线----现在是2021-02-06--
对于第一个输出
我猛地一看总感觉不好理解,但是换成这样:
是不是瞬间感觉简单了。。
我们可以知道,String、a 都是函数。
最近在看《JavaScript高级程序设计》,提到:
所有对象都具有 toLocaleString()、toString()和 valueOf()方法。
拿数组来说
然后类似的:函数也是对象呀!那你console.log(一个函数),和console.log(一个数组),都会隐式的调用toString()方法咯!
不同的是:调用数组的 toString()
方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。而函数的 toString 方法
会返回一个表示函数源代码的字符串。具体来说,包括 function
关键字,形参列表,大括号,以及函数体中的内容。
over。