我見過的成員變量在ES6聲明如下聲明成員變量的
export class MyClass
{
x = null;
constructor() {
this.x = 1;
}
write() {
console.log(this.x);
}
}
和巴貝爾似乎罰款transpile它。
這是一種聲明成員變量的有效方法嗎?
我見過的成員變量在ES6聲明如下聲明成員變量的
export class MyClass
{
x = null;
constructor() {
this.x = 1;
}
write() {
console.log(this.x);
}
}
和巴貝爾似乎罰款transpile它。
這是一種聲明成員變量的有效方法嗎?
這是ES Class Fields & Static Properties的建議的一部分。 它支持babeljs,與此plugin。 這是一個babel stage-1插件,所以如果你使用的是stage-1或者stage-0,這是支持的。
謝謝!我不知道那件事 –
我不相信這是正確的。至少,MDN沒有提及任何這樣的語法。
至於你的例子,讓我們逐行解決它。
class MyClass { // Class declaration, all good here
x = null; // I assume you're telling javascript that the variable x exists?
constructor() {
this.x = 1; // You do that here just fine.
}
write() {
console.log(this.x); // And here we use the variable, after the constructor ran
}
}
我在單獨聲明成員變量時看不到任何值。你在構造函數中創建它。這應該是所有你需要的
JS中沒有「成員變量」這樣的東西。你所看到的不是ES6,而是ES8的一個實驗性功能提案。不要使用它。 – Bergi