各位观众老爷们,大家好!今天咱们不聊风花雪月,来聊聊 JavaScript 这位老朋友新穿的“糖果色外套”—— Class 语法。 别看 Class 关键字让 JavaScript 看起来像个正经的面向对象语言了,但扒开这层糖衣,你会发现里面还是那个熟悉的 Prototype Chain (原型链)在默默支撑。 咱们还要顺便看看 new.target 这个小家伙,它在 Class 的世界里扮演着什么角色。 第一幕:Class 登场,糖衣炮弹来袭 JavaScript 早期并没有 Class 关键字,创建对象和实现继承的方式略显繁琐。比如下面这样: function Person(name) { this.name = name; } Person.prototype.sayHello = function() { console.log(`Hello, my name is ${this.name}`); }; function Student(name, major) { Person.call(this, name); // 借用构造函数继承属性 this.major = majo …
继续阅读“深入分析 `JavaScript` `Class` 语法糖背后基于 `Prototype Chain` 的继承机制和 `new.target` 的作用。”