Честно говоря, я поддерживаю идею Fesor с тем, что сложный фронт должен отделяться от бэка. В конечном счёте, гораздо проще заточить бэк предоставления API к SPA-like архитектуре на фронте. Конечно, можно пользоваться и вашей схемой, но я не вижу в этом выигрыша.
Ну, вы несколько путаете: использование/переопределение методов родительского класса и использование их в перегружаемом методе — разные вещи. При чём последнее никак не описывается в требованиях к языку, соответствующему парадигме ООП.
А то, что вы хотите подменить понятия, не характеризует вас как хорошего собеседника.
Так я и не принижаю ни ваши статьи, ни ваши скиллы в программировании. А уж тем более не буду спорить, что в области биоинформатики и алгоритмов, вы, скорее всего, надерете мне зад, но это никак не относится к теме обсуждения. Если хотите похвастаться своими достижениями, я буду рад прочитать о них в хабе «Я пиарюсь».
function A() {
this.M1 = function() {
console.log("m1 from A");
}
}
var instanceA = new A();
function B() {
this.M1 = function() {
instanceA.M1();
console.log("m1 from B");
}
}
B.prototype = instanceA;
var instanceB = new B();
instanceB.M1();
Геттер не потерялся, просто, по всей видимости, геттер для класса ищет только в экземпляре класса, без «заглядывания» в прототип. Я не уверен, это просто мои соображения на этот счёт.
P.S. Да, ES6 на практике не применял, вы правы. Только читал спецификацию.
Ну вы же сами понимаете, что инстанс Object в JS это не объект в понимании классического ООП
Чем он отличается, и что в вашем понимании «классическое ООП»
Да и не все в жс объекты. 4 instanceof Object === false. Да даже 4 instanceof Number === false.
Разумеется. Ещё есть примитивы, которые не являются объектами, но это никак не противоречит парадигме ООП.
ООП в жс есть
Есть. И оно подходит без всяких «натяжек» под каноны ООП. С историей становления JS вы абсолютно правы, но перед ним и не стояло тех задач, которые стоят сейчас. Разумеется, язык развивается вместе с требованиями к нему.
Программирование — не художественная литература. Многое меняется. Если ЯП расширяется новой функциональностью, это ведь не означает, что это другой ЯП. Так же и со всем остальным, включая парадигмы.
Ну, я бы не называл всемирную интернет-энциклопедию «ничем». По моему скромному мнению, на данный момент это самый полный и достоверный источник знаний.
Если они не меняются, то должна быть отправная точка — своеобразная спецификация, формулировка, которая является «единственно правильной». Вы можете её привести? Можете считать это доказательством от обратного. Найдете — ваша правда, не найдете — моя. И пожалуйста, пусть это будет формулировка из этого тысячелетия.
Объект-прототип является таким же абстрактным типом данных, что и класс, поэтому никакой ошибки здесь нет. С помощью прототипного наследования можно реализовать иерархические отношения между объектами.
А то, что вы хотите подменить понятия, не характеризует вас как хорошего собеседника.
Если я вас правильно понял.
function() { console.log(«не работает»); } ()
Геттер не потерялся, просто, по всей видимости, геттер для класса ищет только в экземпляре класса, без «заглядывания» в прототип. Я не уверен, это просто мои соображения на этот счёт.
P.S. Да, ES6 на практике не применял, вы правы. Только читал спецификацию.
Чем он отличается, и что в вашем понимании «классическое ООП»
Разумеется. Ещё есть примитивы, которые не являются объектами, но это никак не противоречит парадигме ООП.
Есть. И оно подходит без всяких «натяжек» под каноны ООП. С историей становления JS вы абсолютно правы, но перед ним и не стояло тех задач, которые стоят сейчас. Разумеется, язык развивается вместе с требованиями к нему.
Я поддерживаю идею не разводить срач.
Вы ошибаетесь, любая функция в JS является объектом, поэтому любой класс сможет иметь статические методы или свойства.
Можно.
Если они не меняются, то должна быть отправная точка — своеобразная спецификация, формулировка, которая является «единственно правильной». Вы можете её привести? Можете считать это доказательством от обратного. Найдете — ваша правда, не найдете — моя. И пожалуйста, пусть это будет формулировка из этого тысячелетия.