ES6构造函数class 和 ES5构造函数 语法介绍

ES5构造函数语法举例:

function CrtObj(name, age, sex) {
            // 定义属性
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        // 在构造函数的 prototype 属性中,来定义实例化对象的方法
        CrtObj.prototype.fun = function(){
            console.log(this.name, this.age, this.sex);
        }
  //prototype 之后调用函数 
  
 
通过ES5构造函数语法调用构造函数,生成实例化对象,一定要在定义 prototype 之后
否则生成的实例化对象,只有属性没有函数方法
 
class Fun{
   //通过关键词constructor来定义属性
            constructor(name,age){
                this.name = name;
                this.age = age;
            }
   //在class里面关键词constructor之后定义函数方法
            f(){
                console.log(this.name , this.age);
            }
        }
  //在class之后调用函数,在前面调用class不会被预解析,会报错
       const obj = new Fun('张三',18);
       console.log(obj);
 
ES6中,新增语法形式 class 类,是一种新的定义构造函数的语法
作用和原理与ES5语法完全相同,只是语法格式和书写方式不同

猜你喜欢

转载自www.cnblogs.com/haoyd/p/12731290.html