dns看国外网站,宁夏自治区住房与城乡建设厅网站,仿美团外卖小程序源码,汉中建设工程招投标网本章给大家带来Java什么是类#xff1f;class的相关介绍#xff0c;让大家了解关于类(class)的一些知识。有一定的参考价值#xff0c;有需要的朋友可以参考一下#xff0c;希望对你有所帮助。class Point{constructor(){}toString(){}}console.log(Object.keys(Point.prot…本章给大家带来Java什么是类class的相关介绍让大家了解关于类(class)的一些知识。有一定的参考价值有需要的朋友可以参考一下希望对你有所帮助。class Point{constructor(){}toString(){}}console.log(Object.keys(Point.prototype))console.log(Object.getOwnPropertyNames(Point.prototype))上面就是一个类1、类的数据类型就是函数类本身就指向构造函数console.log(typeof Point) // functionconsole.log(Point Point.prototype.constructor) // true2、构造函数的 prototype 属性在 ES6 的“类”上继续存在。事实上类的所有方法都定义在类的 prototype 属性上。开头的代码等同于class Point{}Point.prototype {constructor() {},toString() {},}由于类的方法(除 constructor 以外)都定义在 prototype 对象上所以类的新方法可以添加在 prototype 对象上。 Object.assign 方法可以一次性的向类添加多个方法很重要的一点类的内部定义的所有方法都是不可枚举的。console.log(Object.keys(Point.prototype)) // []console.log(Object.getOwnPropertyNames(Point.prototype)) // [constructor, toString]其中Object.keys() 返回一个数组包含对象自身所有可枚举属性不包含 SymbolObject.getOwnPropertyNames() 返回一个数组包含自身所有属性不包含 Symbol3、constructor方法constructor 方法是类的默认方法通过 new 命令生成对象实例是自动调用该方法。一个类必须有 constructor 方法如果没有定义一个空的 constructor 方法会被默认添加。constructor 方法默认返回实例对象也就是 this 的指向。不过完全可以指定返回另外一个对象4、继承class ColorPoint extends Point {constructor(x, y, color) {super(x, y) // 调用父类的 constructor(x, y)this.color color}toString() {return this.color super.toString() // 调用父类的 toString()}}看到 extends 是不是很熟悉用过 React 的人肯定知道在 React 的 ES6 写法中我们经常这样写class XXXXX extends Component{}ColorPoint 通过 extends 可以继承 Point 类的所有属性和方法有没有留意到 constructor 和 toString方法中都出现了 super 关键字他指代父类的实例。子类必须在 constructor 方法中调用 super 方法否则新建实例就会报错。因为子类没有自己的 this 对象而是继承了父类的 this 对象如果不调用 super 子类就得不到 this。其实 class 就是对对象原型的一种更加简洁的写法