Почему статические методы класса Object не наследуются другими классами в JavaScript ⇐ Javascript
Почему статические методы класса Object не наследуются другими классами в JavaScript
В JavaScript, если я создаю класс со статическим методом, а затем создаю подкласс этого класса, я также могу вызвать статический метод, используя имя подкласса (статические методы наследуются).
Класс объектов, который является суперклассом всех классов, имеет множество статических методов. https://developer.mozilla.org/en-US/doc ... cts/Object Но почему ни один из этих методов нельзя вызвать с использованием имен подклассов?
обновление: Я заметил, что некоторые предлагали явно «расширить» Object. Но класс Object уже является суперклассом каждого класса в JavaScript. доказательством является метод .toString(), который есть у каждого объекта каждого класса, и мы знаем, что он унаследован от класса Object, даже если вы явно не написали «расширяет объект». Таким образом, каждый класс неявно расширяет Object (напрямую или через цепочку наследования), но почему нестатические методы наследуются автоматически, а не статические?
что касается примера кода:
класс Тест { конструктор() {} } константный тест = новый тест (); console.log(test.toString()); // работает, унаследовано от класса Object console.log(Test.)); // не работает
В JavaScript, если я создаю класс со статическим методом, а затем создаю подкласс этого класса, я также могу вызвать статический метод, используя имя подкласса (статические методы наследуются).
Класс объектов, который является суперклассом всех классов, имеет множество статических методов. https://developer.mozilla.org/en-US/doc ... cts/Object Но почему ни один из этих методов нельзя вызвать с использованием имен подклассов?
обновление: Я заметил, что некоторые предлагали явно «расширить» Object. Но класс Object уже является суперклассом каждого класса в JavaScript. доказательством является метод .toString(), который есть у каждого объекта каждого класса, и мы знаем, что он унаследован от класса Object, даже если вы явно не написали «расширяет объект». Таким образом, каждый класс неявно расширяет Object (напрямую или через цепочку наследования), но почему нестатические методы наследуются автоматически, а не статические?
что касается примера кода:
класс Тест { конструктор() {} } константный тест = новый тест (); console.log(test.toString()); // работает, унаследовано от класса Object console.log(Test.)); // не работает
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Свойства и методы базового класса из библиотечного класса не наследуются в мой подкласс.
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Являются ли статические методы и методы классов плохой практикой? [закрыто]
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-