ES5:继承是通过构造函数和原型链实现的。子类构造函数内部通过调用父类构造函数(Parent.call(this))实现属性继承,通过将子类的原型设置为父类的实例(Child.prototype = new Parent())实现方法继承。 ES6:继承通过class和extends关键字以声明方式实现。ES6的类语法让继承看起来更像是传统面向对象编程语言中的类继承。
当我们使用箭头函数时,函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。 并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,它的this是继承外面的,因此内部的this就是外层代码块的this。 3、模板字符串(template string) 这个东西也是非常有用,当我们要插入大段的htm...
将一个指定的对象的原型设置为另一个对象或者null 示例 let obj = { name: '小撩' }; let obj2 = {}; Object.setPrototypeOf(obj2, obj); let obj3 = { __proto__: obj }; console.log(obj2.name); console.log(obj3.name); 1. 2. 3. 4. 5. 6. 7. 8. super 通过super可以调用pro...
ECMAScript 在 2015 年便开始使用年份进行命名,也就是在 ES5.1 版本之后便开始以 ES2015 的版本号进行命名,同时相较于前面的版本有了比较大的变化,增加了很多新的特性,并且每年六月,都会迭代一个版本,但是很多人都习惯从前的命名法,因此 ES2015 也被称作 ES6,也有人将 ES2015 及之后的版本称作 ES6 。
通过super可以调用prototype上的属性或方法 示例 let obj = { name: '小撩' }; let obj2 = { __proto__: obj, name: '大撩', getName() { return super.name } }; console.log(obj2.getName()); 1. 2. 3. 4. 5. 6. 7. 8. ...
13.3 实例:使用Proxy实现观察者模式 270 第14章 Promise对象 273 14.1 Promise的含义 273 14.2 基本用法 274 14.3 Promise.prototype.then() 278 14.4 Promise.prototype.catch() 279 14.5 Promise.all() 285 14.6 Promise.race() 287 14.7 Promise.resolve() 288 14.8 Promise.reject() 290 14....