Как я понимаю они нужны что бы ограничить прототипирование и наследование функции или метода далее, я правильно понимаю?
Методы с "приставкой" static добавляются непосредственно в класс, а не в объект класса, либо прототип:
class AClass {
constructor() {
this.aCon = function() {
return 0;
}
}
a() {
return 1;
}
static aStatic() {
return 2;
}
}
var aObj = new AClass();
console.log(aObj.hasOwnProperty('aCon'), aObj.hasOwnProperty('a'), aObj.hasOwnProperty('aStatic'));
console.log('aCon' in aObj, 'a' in aObj, 'aStatic' in aObj);
console.log(aObj.aStatic);
console.log(AClass.aStatic);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости