本文共 1786 字,大约阅读时间需要 5 分钟。
// 1、类的基本定义class Parent { constructor(name = "小白") { this.name = name; }}
// 2、生成一个实例let g_parent = new Parent();console.log(g_parent); //{name: "小白"}let v_parent = new Parent("v"); // 'v'就是构造函数name属性 , 覆盖构造函数的name属性值console.log(v_parent); // {name: "v"}
// 3、继承class Parent { //定义一个类 constructor(name = "小白") { this.name = name; }}class Child extends Parent { }console.log("继承", new Child()); // 继承 {name: "小白"}
// 4、继承传递参数class Parent { //定义一个类 constructor(name = "小白") { this.name = name; }}class Child extends Parent { constructor(name = "child") { // 子类重写name属性值 super(name); // 子类向父类修改 super一定放第一行 this.type = "preson"; }}console.log("继承", new Child("hello")); // 带参数覆盖默认值 继承{name: "hello", type: "preson"}
// 5、ES6重新定义的ES5中的访问器属性class Parent { //定义一个类 constructor(name = "小白") { this.name = name; } get longName() { // 属性 return "mk" + this.name; } set longName(value) { this.name = value; }}let v = new Parent();console.log("getter", v.longName); // getter mk小白v.longName = "hello";console.log("setter", v.longName); // setter mkhello
// 6、类的静态方法class Parent { //定义一个类 constructor(name = "小白") { this.name = name; } static tell() { // 静态方法:通过类去调用,而不是实例 console.log("tell"); }}Parent.tell(); // tell
// 7、类的静态属性:class Parent { //定义一个类 constructor(name = "小白") { this.name = name; } static tell() { // 静态方法:通过类去调用,而不是实例 console.log("tell"); // tell }}Parent.type = "test"; // 定义静态属性console.log("静态属性", Parent.type); // 静态属性 testlet v_parent = new Parent();console.log(v_parent); // {name: "小白"} 没有tell方法和type属性
转载地址:http://hqtki.baihongyu.com/