JavaScriptクラスを自分で教えようとしていましたが、私は理解できません。誰かがなぜこれらのスニペットを実行したときに私が異なる結果を得ているのか説明してもらえますか?非コンストラクタをサブクラス化する
class Foo extends console { } // TypeError: console is not a constructor
これは完全に意味があります。コンストラクタではない関数を拡張しようとするとエラーになります。
しかし、私が他の非コンストラクタでこれを試してみると、物事は異なります。
class Bar extends Symbol { } // This works
let bar = new Bar(); // TypeError: Symbol is not a constructor
私は違いを理解していない:私は同じエラーを取得していますどちらの場合も、時にはクラス宣言と他の時代に、私は私のサブクラスのインスタンスを作成しようとする場合にのみ。
コンソールは、我々はにconsole.logを呼び出すなぜそれが( –
ザッツ対象であるコンストラクタではありません)console.warn()、console.error()など –
'TypeError:Symbolはコンストラクタではありません。 'を再現できません。 –