js-基础知识点复习

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

== 对比

特殊原则

  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参考

(持续更新)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理