js-基础知识点复习

44次阅读

共计 531 个字符,预计需要花费 2 分钟才能阅读完成。

对平常的小知识点,会持续更新

== 对比

特殊原则

  1. undefined == null / null == undefined
  2. number 和 string/boolean 对比将 string/boolean 转换为数字类型
  3. boolean 和 string 对比 将字符串转换为数字
  4. String/Number/Symbol 和 object 相比,toPrimitive(obj) 之后对比
  5. 其他都为 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 参考

(持续更新)

正文完
 0