JavaScript 类
ECMAScript 2015(也称为 ES6)引入了 JavaScript 类。
JavaScript 类是 JavaScript 对象的模板。
JavaScript 类语法
使用关键字 class
创建一个类。
总是添加一个名为 constructor()
:
句法
类名称 {
构造函数(){...}
}
例子
汽车类 {
构造函数(名称,年份){
这个.name = 名称;
今年.年 = 年;
}
}
上面的例子创建了一个名为“Car”的类。
该类有两个初始属性:“名称”和“年份”。
JavaScript 类是 不是 一个东西。
它是一个 模板 对于 JavaScript 对象。
使用类
当你有一个类时,你可以使用该类来创建对象:
上面的例子使用了 车种 创造两个汽车物体.
当创建新对象时,构造函数方法会被自动调用。
构造函数方法
构造函数方法是一个特殊方法:
- 它必须具有确切的名称“构造函数”
- 创建新对象时自动执行
- 用于初始化对象属性
如果没有定义构造函数方法,JavaScript 将添加一个空的构造函数方法。
类方法
类方法的创建语法与对象方法相同。
使用关键字 class
创建一个类。
总是添加 constructor()
方法。
然后添加任意数量的方法。
句法
类名称 {
构造函数(){...}
方法_1() { ... }
方法2() { ... }
方法3() { ... }
}
创建一个名为“age”的类方法,返回汽车年龄:
例子
汽车类 {
构造函数(名称,年份){
这个.name = 名称;
今年.年 = 年;
}
年龄() {
让日期 = 新的日期();
返回 date.getFullYear() - this.year;
}
}
让 myCar = new Car("福特", 2014);
document.getElementById("演示").innerHTML =
“我的车有” + myCar.age() + “年了。”;
亲自尝试 »
您可以将参数发送给类方法:
例子
汽车类 {
构造函数(名称,年份){
这个.name = 名称;
今年.年 = 年;
}
年龄(x) {
返回 x - 今年;
}
}
让日期 = 新的日期();
让 year = date.getFullYear();
让 myCar = new Car("福特", 2014);
document.getElementById("演示").innerHTML=
“我的车有” + myCar.age(year) + “年了。”;
亲自尝试 »
浏览器支持
下表定义了第一个完全支持 JavaScript 中的类的浏览器版本:
Chrome 49 | 边缘 12 | Firefox 45 | Safari 9 | 歌剧 36 |
2016 年 3 月 | 2015 年 7 月 | 2016 年 3 月 | 2015 年 10 月 | 2016 年 3 月 |
“使用严格”
类中的语法必须以“严格模式”编写。
如果不遵守“严格模式”规则,您将收到错误。
例子
在“严格模式”下,如果你使用未声明的变量,则会出现错误:
汽车类 {
构造函数(名称,年份){
这个.name = 名称;
今年.年 = 年;
}
年龄() {
// date = new Date(); // 这不起作用
let date = new Date(); // 这将起作用
返回 date.getFullYear() - this.year;
}
}
亲自尝试 »
了解有关“严格模式”的更多信息: JS 严格模式.