前端每日一练,大厂面试题目,涵盖前端所有知识点,每天进步一点点。HTML/CSS/Javascript/Nodejs/Typescript/ECMAScript/Vue/React/Webpack/小程序/网络/设计模式/数据结构/算法/安全/工程化/性能优化
10
stars
4
forks
source link
[JS] [2021-01-21 更新] 介绍下class 和 ES5 的类的区别?并说说 new 执行的过程? #15
Open
jeddygong opened 3 years ago
前言
区别
代码示例
Object.keys(Point.prototype)
枚举到;new target
属性指向当前的构造函数,不能在构造函数外部调用会报错等同于es5的:
Object.keys(Point.prototype)
枚举到, constructor除外;关于New
每次使用new关键字会执行的步骤:
创建一个空的新对象,作为将要返回的对象实例;
var obj = {};
将该对象的_proto__(隐式原型)指向创建该对象的类的原型对象; ( 注意proto前后是双下划线)
// 假设类叫做 A obj._proto__ = A.prototype;
将构造函数环境中的this,指向该对象;
相当于:this = obj;// 意识到位,代码这样写是错误的
执行构造函数中的代码,并返回刚刚创建的新对象;
关于构造函数constructor