статический метод и геттер
Статический метод это как
Ты можешь его вызвать у самого класса, а не у его экземпляра. class A { static B() {} } A.B() // Так можно const C = new A(); C.B() // А так нельзя
https://learn.javascript.ru/static-properties-methods так проще будет
Типо метод new запрещает доступ к статистическому методу?
new создает экземпляр класса. У экземпляра класса нет доступ к статическому методу.
А для чего вообще это?
Статический метод? Ну например какая нибудь служебная функция которая не нужна тебе в каждом экземпляре
class User { static getOne() { // .... } getName() { // ... } } const user1 = User.getOne() const user2 = new User() const name = user2.getName(); Так понятнее думаю
Да мне и то было понятно, но по понятней спасибо
Типо при вызове this в консоль тебе она не мешала?
Этот тут причем ? )
главное понять что статические методы желательно не использовать. Обычно их используют как фабрику для создания сущностей которым они принадлежат. Как правило если много статических функций в классе значит программист не заметил что соединил два класса в один. Класс контроллер и класс сущности, это условно. Нужно разделить.
Да я даже применение не нахожу этой фичи, по крайней мере для себя
в библиотеке секвалайз, это ОРМ для баз данных такая архитектура, что статические методы расширяют сущность через декоратор и выполняют роль контроллера доступа к базе к таблице этой сущности.
Обсуждают сегодня