你不知道的 JavaScript 上卷 看完

@czhang
  • date: 20200322
  • author: czhang

Plan

你不知道的 JavaScript 上卷 看完

Notes

1. 面向对象 & 对象关联 两种设计模式

1. 面向对象:
Bar.prototype = Object.create(Foo.prototype);
var b1 = new Bar('b1');
var b2 = new Bar('b2');
2. 对象关联:
Bar = Object.create(Foo);
var b1 = Object.create(Bar);
b1.init('b1');
var b2 = Object.create(Bar);
b2.init('b2');

2. 内省

  1. 定义:检查实例的类型
  2. instanceof
function Foo() {}
var a1 = new Foo();

检查 a1 和 Foo.prototype 的互相关联

3. ES6 中的 Class

  1. 只是现有[[Prototype]] 机制的一种语法糖
  2. 无法定义类成员属性,只能定义方法
  3. super 可能会混乱
  4. 动态 假装成 “静态”

More