あなたの構文は合法ではありません。あなたのコンソールに、正しいコード行がないことを示すエラーがあるはずです。
静的メソッド(インスタンスデータは使用しません)の場合は静的メソッドとして宣言し、直接呼び出すことができます。
インスタンスメソッドの場合、通常、タイプone
のオブジェクトを作成し、そのオブジェクト(通常はコンストラクタ内)のメソッドを呼び出します。あなたは適切な構文を持っていない、非静的なケースでは
class One {
static write(){
console.log("Yes! I did!");
}
}
class Two {
tryingMethod(){
One.write();
}
}
:
は(あなたの特定のケースで罰金のように見える)メソッド静的を行います。あなたがこのような
Two
のコンストラクタに
One
オブジェクトのインスタンスを作成したい表示されます。
class One {
write(){
console.log("Yes! I did!");
}
}
class Two {
constructor() {
this.one = new One();
}
tryingMethod(){
this.one.write();
}
}
var x = new Two();
x.tryingMethod();
注:私はまたのために大文字で始まる識別子を使用しての一般的なJavascriptの規則を以下のよone
の代わりにOne
などのクラス/コンストラクター名を使用してください。
class One {
write() {
console.log("Yes! I did!");
}
}
class Two {
constructor(one = new One()) {
this.one = one;
}
tryingMethod() {
this.one.write();
}
}
は今、あなたは何ができるかである私は非常に緊密一緒に授業を結ぶと、このような何かをやっていないことをお勧めしたい何を
変数をクラス内で直接宣言することはできません。 'var object = new one();'は構文エラーです。 – Barmar
@Barmar Javascriptの新機能です) – hamdi