【JS】类
JavaScript中类:
1.定义:
class 类名{
prop = value // 属性
constructor(){} // 构造器
methods(){} // 方法
get name(){} // getter 方法
set name(value){} // setter 方法
[Symbol.itertor](){} // 计算名称的方法
}
2.用法:
使用new 类名()创建一个实例对象,new 运算符会自动调用constructor()方法
3.JS中类实际是一个函数,类中constructor函数中代码作为该函数代码,类中方法添加到函数原型上
4.使用构造函数也可描述一个类,但类class和构造函数有所不同:
1) 通过 class 创建的函数具有特殊的内部属性标记 [[IsClassConstructor]]: true。所以必须使用new来调用。
2) 类方法不可枚举。 类定义将 "prototype" 中的所有方法的 enumerable 标志设置为 false。
3) 类总是使用 use strict。 在类构造中的所有代码都将自动进入严格模式。
5.类表达式
像函数一样,类可以在另外一个表达式中被定义,被传递,被返回,被赋值等
let User = class {}
命名类表达式:let User = class U{}
同样,和命名函数表达式一样,名字只能在类内部使用
6.类中也可创建getter和setter
7.Class字段
类中除了constructor函数和其他方法外,还可写任何属性。
class User{
// 字段
name = '张三'
test(){}
}
类字段是成员属性,为每个对象独立设置
字段格式为 名字 = 值, 值可以为任何类型,例如函数
class User {
test = () => {}
}