ES6 class 和 ES5 构造函数(function constructor)有什么区别?
What are the differences between ES6 class and ES5 function constructors?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: javascript-fundamentals
标签: Class, Inheritance, Prototype
参考答案摘要
答案 在“只做简单构造”的情况下,两者长得很像:都是初始化实例属性。 主要差异体现在继承与语法约束:ES5 要手动 `Parent.call(this, ...)` + 设置原型链(`Object.create`、修正 constructor);ES6 用 `extends` + `super()` 更直观、更不易写错,也更易读。 补充:ES6 class 语法更接近“声明式”,默认处于严格模式;...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。