随笔分类 - JS/TS
摘要:定义和用法 instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。 语法: `object constructor`某个构造函数 实现 instanceof 参考资料: "前端进阶之道"
阅读全文
摘要:语法糖(Syntactic sugar),也译为糖衣语法 指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。 通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。 语法糖”这个词绝非贬义词,它可以给我们带来方便,是一种便捷的写法,编译器会帮我们做转换
阅读全文
摘要:当执行 JS 代码时,会产生三种执行上下文 全局执行上下文 函数执行上下文 eval 执行上下文 每个执行上下文中都有三个重要的属性 变量对象(VO),包含变量、函数声明和函数的形参,该属性只能在全局上下文中访问 作用域链(JS 采用词法作用域,也就是说变量的作用域是在定义时就决定了) this 对
阅读全文
摘要:前置 从上述例子中我们可以发现,如果给一个变量赋值一个对象,那么两者的值会是同一个引用,其中一方改变,另一方也会相应改变。 通常在开发中我们不希望出现这样的问题,我们可以使用浅拷贝来解决这个问题。 浅拷贝 首先可以通过 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号