Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 11.08.2015, 17:33
Профессор
Посмотреть профиль Найти все сообщения от javaQest
 
Регистрация: 07.08.2015
Сообщений: 154

Erolast,
с ходу возникла непонятка
subClass.prototype = Object.create(superClass && superClass.prototype,

ты почему тут перезаписываешь прототип сабклассу? если сабкласс наследует что-то у суперкласса, это не значит что он должен забыть о себе. Или я что-то не так понял?
Ответить с цитированием
  #32 (permalink)  
Старый 11.08.2015, 17:37
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Erolast,
http://stackoverflow.com/questions/1...-post-with-php =>
Цитата:
Please forget my bad english.
это ты вопрос задавал?
Ответить с цитированием
  #33 (permalink)  
Старый 11.08.2015, 17:45
Профессор
Посмотреть профиль Найти все сообщения от javaQest
 
Регистрация: 07.08.2015
Сообщений: 154

Erolast,
и вот еще непонятка.
я глянул в описании setPrototypeOf, судя по этому вот полифилу
Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) {
  obj.__proto__ = proto;
  return obj; 
}

в качестве аргументов там объекты(настоящие), а у тебя
if (superClass) {
        Object.setPrototypeOf(subClass, superClass);
    }

функции (а-ля "классы"). Как это понимать?
Ответить с цитированием
  #34 (permalink)  
Старый 11.08.2015, 17:45
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
ты почему тут перезаписываешь прототип сабклассу?
Подразумевается, что функция inherits будет применяться сразу после объявления класса, до установки методов в прототип, пока он еще чистый - тогда ничего не перезапишется. Можно заменить на более простое
Object.setPrototypeOf(subClass.prototype, superClass && superClass.prototype);

В контексте организации множественного наследования ничего не изменится.
Ответить с цитированием
  #35 (permalink)  
Старый 11.08.2015, 17:47
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
в качестве аргументов там объекты(настоящие), а у тебя
[js]
if (superClass) {
Object.setPrototypeOf(subClass, superClass);
}
[js]
функции (а-ля "классы"). Как это понимать?
Что не так? Функции (классы) в JS - те же настоящие объекты, и у них тоже есть прототип (который [[Prototype]]).
Object.setPrototypeOf - это то же, что и установка __proto__, только по стандарту ES6.

И давай лучше в той теме общаться, здесь это оффтоп как-то.
Ответить с цитированием
  #36 (permalink)  
Старый 11.08.2015, 17:48
Профессор
Посмотреть профиль Найти все сообщения от javaQest
 
Регистрация: 07.08.2015
Сообщений: 154

Сообщение от Erolast
В контексте организации множественного наследования ничего не изменится.
Нет, так не годится. Допустим, у меня есть класс, который уже содержит в своем прототипе foo. я наследую, и теряю это foo, при таком раскладе. Это детский сад
Ответить с цитированием
  #37 (permalink)  
Старый 11.08.2015, 17:49
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Сообщение от KosBeg Посмотреть сообщение
Erolast,
http://stackoverflow.com/questions/1...-post-with-php =>
это ты вопрос задавал?
С чего ты взял?
Ответить с цитированием
  #38 (permalink)  
Старый 11.08.2015, 17:49
Профессор
Посмотреть профиль Найти все сообщения от javaQest
 
Регистрация: 07.08.2015
Сообщений: 154

Erolast,
хорошо, ответ на этот пост читай в той теме
Ответить с цитированием
  #39 (permalink)  
Старый 11.08.2015, 17:50
Аватар для KosBeg
Профессор
Отправить личное сообщение для KosBeg Посмотреть профиль Найти все сообщения от KosBeg
 
Регистрация: 22.05.2015
Сообщений: 384

Сообщение от Erolast
С чего ты взял?
не понимаешь ты шуток)
надо "receive", а у тебя "recieve", может опечатка
Ответить с цитированием
  #40 (permalink)  
Старый 11.08.2015, 17:50
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Сообщение от javaQest Посмотреть сообщение
Нет, так не годится. Допустим, у меня есть класс, который уже содержит в своем прототипе foo. я наследую, и теряю это foo, при таком раскладе. Это детский сад
Ты хочешь наследовать в рантайме? Окей, поправил.
Просто я ж с ES6 переписывал, а там наследование устанавливается в момент объявления класса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События клик. Почему так происходит. Evgeny_Dedov jQuery 4 04.11.2013 01:34
Объясните не могу понять почему так происходит cha0s jQuery 3 23.10.2013 12:52
обясните плз почему мой SetInterval так странно себя ведет? Влад31/08/2000 Ваши сайты и скрипты 2 29.09.2013 17:14
Объясните, почему так происходит ak-o jQuery 12 12.07.2013 12:32
Извините что создаю еще одну тему, но мне нужна помощь и ваше мнение megaupload Оффтопик 11 27.05.2013 12:58