ES6 中的类和对象
1.创建一个类
(1)基本语法
class name {
}
(2)创建一个实例()
const xx = new phone()
(3)constructor (构造函数)
类里面有个非常重要的函数 constructor() ,这是类的构造函数,用于传递参数,返回实例对象,通过 new 生成对象实例时将会自动调用该方法。如果没有显示定义,类的内部也会自动给我们创建一个 constructor() 。
(4)例如创建一个明星类:
//1. 创建类 class 创建一个明显类
class Star{
constructor(uname) {
this.uname = uname
}
}
//2. 利用类创建对象
let zxy = new Star('张学友')
console.log('明星名字:' + zxy.uname)
执行过程:创建了一个名为 Star 的类,创建了一个构造函数这个构造函数可以接受一个参数,并把参数赋值给this.name,当我们执行 new Star('张学友') 时,会自动触发 constructor 函数,将张学友传给 constructor('张学友'),this.uname = '张学友' ,然后构造函数回返回一个实例返回给 zxy 变量。
(5)因为创建了一个明星类,所以我们也可以用同样的方法,创建多个明星
//1. 创建类 class 创建一个明显类
class Star{
constructor(uname, age, sex) {
this.uname = uname,
this.age = age,
this.sex = sex
}
//不需要写 function 关键字声明。
//在类里面所有的函数不需要加逗号分隔。
//函数可以使用 this 直接调用类中的属性
sing(song){
console.log(this.uname + song)
}
}
//2. 利用类创建对象
let zxy = new Star('张学友', 45, '男')
let ldh = new Star('刘德华', 42, '男')
//3.调用类中的函数
zxy.sing('李香兰')
ldh.sing('冰雨')
创建类的几个注意点
- 必须通过 class 关键字声明创建类,类名推荐写法使用首字母大写。
- 类中有个 constructor() 函数,这个函数可以接受传递过来的参数,同时返回实例。
- constructor() 函数,只要 new 生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动的生成这个函数。
- 生成实例 new 关键字不能省略
- 注意语法规范,创建类 类名的后面不要加小括号,生成实例 类后面要加小括号,在类里面不需要写 function 声明也可以。