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 부르는 이유 –
그게 전부입니다 (생성자되지 않습니다 :
는 Btw는 당신이
console
객체에 더 많은 방법을 첨부하거나 다른 객체 또는 생성자prototype
예에 복사 할 수 있습니다) console.warn(), console.error() etc. –'TypeError : Symbol is not constructor'을 재현 할 수 없습니다. –