共计 531 个字符,预计需要花费 2 分钟才能阅读完成。
对平常的小知识点,会持续更新
==
对比
特殊原则
- undefined == null / null == undefined
- number 和 string/boolean 对比将 string/boolean 转换为数字类型
- boolean 和 string 对比 将字符串转换为数字
- String/Number/Symbol 和 object 相比,toPrimitive(obj) 之后对比
- 其他都为
false
ToPrimitive
是 js 将对象转换为原始类型的一个算法,是 js 内部的算法
hint
该函数的参数值为 string/numer/default
自定义 toPrimitive
var obj2 = {[Symbol.toPrimitive](hint) {if (hint == "number") {return 10;}
if (hint == "string") {return "hello";}
return true;
}
};
console.log(+obj2); // 10 -- hint is "number"
console.log(`${obj2}`); // "hello" -- hint is "string"
console.log(obj2 + ""); //"true"-- hint is"default"
toPrimitive 参考
(持续更新)
正文完
发表至: javascript
2019-07-03