JavaScript 類 static
示例
建立一個靜態方法並在類上呼叫它
class Car {
constructor(brand) {
this.carname = brand;
}
static hello() { // 靜態方法
return "Hello!!";
}
}
mycar = new Car("Ford");
//在類 Car 上呼叫 'hello()'
document.getElementById("demo").innerHTML = Car.hello();
//而不是在 'mycar' 物件上
//document.getElementById("demo").innerHTML = mycar.hello();
//這會引發錯誤。
描述
static
關鍵字為類定義靜態方法。
靜態方法直接在類上呼叫(例如上面示例中的 Car
)——無需建立類的例項/物件 (mycar
)。
瀏覽器支援
static
是 ECMAScript6 (ES6) 的一個特性。
自 2017 年 6 月起,所有現代瀏覽器都支援 ES6 (JavaScript 2015)
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支援 static
。
語法
static 方法名()
技術詳情
JavaScript 版本 | ECMAScript 2015 (ES6) |
---|
更多示例
如果你想在靜態方法內部使用 mycar 物件,你可以將其作為引數傳遞。
示例
將 "mycar" 作為引數傳送
class Car {
constructor(brand) {
this.carname = brand;
}
static hello(x) {
return "Hello " + x.carname;
}
}
mycar = new Car("Ford");
document.getElementById("demo").innerHTML = Car.hello(mycar);
相關頁面
JavaScript 教程:JavaScript 類
JavaScript 教程:JavaScript ES6 (EcmaScript 2015)
JavaScript 參考手冊:constructor() 方法