let a = 'aaa'
let b = String('aaa')
let c = new String('aaa')
let d = new String('aaa')
console.log('结果',a==b,a==c, b==c, c==d) // true true true false
a与b:数据类型相同–直接比较;值相同–true;
a与c:数据类型不同,会将c转化为字符串类型再进行比较;值相同–true;
b与c:数据类型不同,会将c转化为字符串类型再进行比较;值相同–true;
c与d:数据类型相同–直接比较;值不同(复杂数据类型,栈中为堆中数据的地址)–false
比较(===)举例
let a = 'aaa'
let b = String('aaa')
let c = new String('aaa')
let d = new String('aaa')
console.log('结果',a===b,a===c, b===c, c===d) // true false false false