随笔分类 - JS/TS
摘要:前置 从上述例子中我们可以发现,如果给一个变量赋值一个对象,那么两者的值会是同一个引用,其中一方改变,另一方也会相应改变。 通常在开发中我们不希望出现这样的问题,我们可以使用浅拷贝来解决这个问题。 浅拷贝 首先可以通过 Object.assign 来解决这个问题。 通过展开运算符(…)来解决 通常浅
阅读全文
摘要:在有 Babel 的情况下,我们可以直接使用 ES6 的模块化 CommonJS规范 CommonJs 是 Node 独有的规范,浏览器中使用就需要用到 Browserify 解析了 在上述代码中,module.exports 和 exports 很容易混淆,让我们来看看大致内部实现 再来说说 mo
阅读全文
摘要:转Boolean 在条件判断时,除了 undefined, null, false, NaN, '', 0, 0,其他所有值都转为 true,包括所有对象。 对象转基本类型 对象在转换基本类型时,首先会调用 valueOf 然后调用 toString。并且这两个方法你是可以重写的。 也可以重写 Sy
阅读全文
摘要:定义 定义:函数 A 返回了一个函数 B,并且函数 B 中使用了函数 A 的变量,函数 B 就被称为闭包。 你是否会疑惑,为什么函数 A 已经弹出调用栈了,为什么函数 B 还能引用到函数 A 中的变量。因为函数 A 中的变量这时候是存储在堆上的。现在的 JS 引擎可以通过逃逸分析辨别出哪些变量需要存
阅读全文
摘要:前置 1.ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。 2.Symbol 值通过Symbol函数生成。 3.Symbol 函数可以接受一个字符串作为参数,表示对 Symbol 实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。 4.ES2019 提供了一个实例
阅读全文
摘要:`DEMO` 文件目录结构 运行req1.js
阅读全文

浙公网安备 33010602011771号