Показать сообщение отдельно
Старый 24.07.2012, 17:52
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 13  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
В JS чаще всего утиная типизация используется. Грубо говоря, если вам нужно сделать splice, то просто проверяется наличие splice, иначе ошибка-не поддерживается. А является ли он при этом array или чем-то другим-неважно.
а typeof даже встроенные объекты типа date не различает.
Код:
if(obj.splice){
// я массив или что-то похожее, я умею делать splice
}else{
// неведома зверюшка.
}
Цитата:
Утиная типизация основана на одной известной пословице: «If it looks like a duck, swims like a duck and quacks like a duck, then it probably is a duck (who cares what it really is)».

В переводе: «Если это выглядит как утка, плавает как утка и крякает как утка, то, вероятно, это утка (какая разница, что это на самом деле)».


Последний раз редактировалось Krusty; 24.07.2012 в 18:06.