1,js中的class
一直以来js中是没有类的概念的。创建对象是通过构造函数,构造函数和普通的函数一样,只是调用的方式不一样。
在ES2015中,正式有了class的概念。但这个class和别的语言中的类还是有区别的。只是一个语法糖而已。
class Person{};
console.log(typeof Person);//function
这里的class只是在构造函数上包装了一层而已。
2,class的用法
class Person{
constructor(name,age){
this.name=name;
this.age=age;
}
sayNmae(){
console.log(this.name);
}
}
var person1=new Person("qi",23);
console.log(person1.name);
console.log(person1.age);
可以看到class的用法和别的面向对象语言的用法是差不多的。下面是一段java中的语言,来对比一下。
public class Student{
public String name;
public int age;
public SayName(){
};
public static void main(String[] args){
}
}
可以看到js中的面向对象和java中的面向对象的写法大致是一样的。
但要注意的是js中的class只可以通过new调用,不可以直接调用。直接调用时会报错的。这一点和5版本中的构造函数有些不同。