19.10.2011, 13:06
|
|
Профессор
|
|
Регистрация: 09.07.2007
Сообщений: 304
|
|
B~Vladi,
ты гденибуть видишь что в примере объекту определенно значение hasOwnProperty. по этой причине {} нельзя воспринимать как "ассоциативный массив", а хотелось бы без хаков использовать его как таковой.
|
|
19.10.2011, 13:28
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сообщение от vflash
|
ты гденибуть видишь что в примере объекту определенно значение hasOwnProperty
|
alert( {}.hasOwnProperty( "hasOwnProperty" ) );
|
|
19.10.2011, 14:41
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от vflash
|
ты гденибуть видишь что в примере объекту определенно значение hasOwnProperty.
|
Как показал Sweet, оно определено в Object.prototype, а его в свою очередь наследует объект, созданный с помощью литерала.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
19.10.2011, 15:06
|
|
Профессор
|
|
Регистрация: 09.07.2007
Сообщений: 304
|
|
B~Vladi,
такой логикой можно было бы свойство __proto__ добавить в стандарт, и кучу других. Вы же не расширяете Object.prototype своими свойствами, вот тот тоже самое.
hasOwnProperty думаю со времени вырежут, и по Array.indexOf изменят позицию . если к тому времени Dart не займет место JS.
Последний раз редактировалось vflash, 19.10.2011 в 15:22.
|
|
19.10.2011, 15:09
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от vflash
|
такой логикой можно было бы свойство __proto__ добавить в стандарт
|
Причем тут __proto__. Вместо него добавили метод getPrototypeOf.
Сообщение от vflash
|
hasOwnProperty думаю со времени вырежут, и по Array.indexOf изменят позицию
|
А я не думаю - нет смысла.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
19.10.2011, 21:38
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Я не любитель обсуждать вещи, которые невозможно изменить. Это как о политике на кухне разговаривать. Есть свойство, у него есть название, у него есть предопределённое поведение. Зачем рассуждать, что по чьему-то мнению оно работает не правильно?
|
можно много чего изменить. Просто часто это упирается в желание. У тебя, например, в данном вопросе желания изменить нету. У меня в общем-то тоже, хотя в целом я бы не отказался от более чистого/логичного/простого синтаксиса. Хочу вот coffeescript попробовать поиспользовать.
Сообщение от B~Vladi
|
Получается, массив кагбэ растянут до длинны length, но это не значит что в этом случае в массиве все ячейки должны быть заполнены.
|
Сообщение от Riim
|
вполне логично звучит. Вот ради выяснения подобного и есть смысл рассуждать.
|
да вы шутите... это не что иное как "это просто кто-то так решил сделать, а потом все повторили, а потом придумали объяснение." Это даже не принцип наименьше неожиданности: "Язык [Ruby] следует принципу «наименьшей неожиданности»: программа должна вести себя так, как ожидает программист. Однако в контексте Ruby это означает наименьшее удивление не при знакомстве с языком, а при его основательном изучении."
Сообщение от Kolyaj
|
Да, с учётом того, что такое массив в JavaScript, это логичное поведение.
|
другими словами, мы любим javascript таким какой он есть
Сообщение от vflash
|
вот мне этот момент никогда в голову не приходил и даже подумать не мог, что кто та так сделает. это не особенность языка , это просто кто-то так решил сделать, а потом все повторили, а потом придумали объяснение.
|
только не будем забывать, что он создавался в спешке...
Сообщение от vflash
|
hasOwnProperty тоже когда-то в стандарте был целую тучу лет. Но одумались, покаялись грешные ).
|
а что разве уже нету?
по поводу dart, они говорят о фундаментальных проблемах в javascript, которые нельзя изменить, не начав с нуля, либо очень сложно и это займет слишком много времени. Рассуждения на тему, что это могут быть за проблемы можно почитать здесь и здесь (еще наткнулся на сайт с wtf'ами javascript). На мой взгляд, наиболее вероятные проблемы - статическая типизация и производительность. Не то чтобы для меня это проблемы, но может для каких-то проектов это важно. Ну и в javascript есть вещи, которых лучше бы не было или лучше чтобы они было сделаны по-другому. Но не думаю, что это причина для создания нового языка.
кстати, после ecma-262-3 там уже приняли какую-то спецификацию?
Последний раз редактировалось x-yuri, 19.10.2011 в 23:39.
|
|
19.10.2011, 21:43
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
x-yuri,
сорь, что не в тему, кинь ссылку на лучшие форумы или правильные форумы, ты как-то кидал ссылку на статью. Не могу вспомнить название, толи "эти страшные форумы" или что-то в этом духе.
Мне срочно пришлось писать форум, чужой взять не могу в силу определенных обстоятельств, хочу избежать граблей.
Там ещё юзабилити обсуждалось.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Последний раз редактировалось Gozar, 19.10.2011 в 21:50.
|
|
19.10.2011, 22:10
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
|
|
19.10.2011, 22:56
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от x-yuri
|
это не что иное как "это просто кто-то так решил сделать, а потом все повторили, а потом придумали объяснение."
|
Главное что придумали
А о ActionScript что скажите? Тоже накосячили? Или просто повторили?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Последний раз редактировалось B~Vladi, 19.10.2011 в 22:59.
|
|
19.10.2011, 23:27
|
|
Профессор
|
|
Регистрация: 09.07.2007
Сообщений: 304
|
|
Сообщение от B~Vladi
|
А о ActionScript что скажите? Тоже накосячили? Или просто повторили?
|
а поди разбери теперь кто папа.
кстати
alert([,,,,,,,,,,1].join('+'))
Последний раз редактировалось B~Vladi, 19.10.2011 в 23:39.
|
|
|
|