Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   wtf javascript (https://javascript.ru/forum/offtopic/22405-wtf-javascript.html)

vflash 19.10.2011 13:06

B~Vladi,
ты гденибуть видишь что в примере объекту определенно значение hasOwnProperty. по этой причине {} нельзя воспринимать как "ассоциативный массив", а хотелось бы без хаков использовать его как таковой.

Sweet 19.10.2011 13:28

Цитата:

Сообщение от vflash
ты гденибуть видишь что в примере объекту определенно значение hasOwnProperty

alert( {}.hasOwnProperty( "hasOwnProperty" ) );
:D

B~Vladi 19.10.2011 14:41

Цитата:

Сообщение от vflash
ты гденибуть видишь что в примере объекту определенно значение hasOwnProperty.

Как показал Sweet, оно определено в Object.prototype, а его в свою очередь наследует объект, созданный с помощью литерала.

vflash 19.10.2011 15:06

B~Vladi,
такой логикой можно было бы свойство __proto__ добавить в стандарт, и кучу других. Вы же не расширяете Object.prototype своими свойствами, вот тот тоже самое.

hasOwnProperty думаю со времени вырежут, и по Array.indexOf изменят позицию . если к тому времени Dart не займет место JS.

B~Vladi 19.10.2011 15:09

Цитата:

Сообщение от vflash
такой логикой можно было бы свойство __proto__ добавить в стандарт

Причем тут __proto__. Вместо него добавили метод getPrototypeOf.
Цитата:

Сообщение от vflash
hasOwnProperty думаю со времени вырежут, и по Array.indexOf изменят позицию

А я не думаю - нет смысла.

x-yuri 19.10.2011 21:38

Цитата:

Сообщение от Kolyaj
Я не любитель обсуждать вещи, которые невозможно изменить. Это как о политике на кухне разговаривать. Есть свойство, у него есть название, у него есть предопределённое поведение. Зачем рассуждать, что по чьему-то мнению оно работает не правильно?

можно много чего изменить. Просто часто это упирается в желание. У тебя, например, в данном вопросе желания изменить нету. У меня в общем-то тоже, хотя в целом я бы не отказался от более чистого/логичного/простого синтаксиса. Хочу вот coffeescript попробовать поиспользовать.

Цитата:

Сообщение от B~Vladi
Получается, массив кагбэ растянут до длинны length, но это не значит что в этом случае в массиве все ячейки должны быть заполнены.

Цитата:

Сообщение от Riim
вполне логично звучит. Вот ради выяснения подобного и есть смысл рассуждать.

да вы шутите... это не что иное как "это просто кто-то так решил сделать, а потом все повторили, а потом придумали объяснение." Это даже не принцип наименьше неожиданности: "Язык [Ruby] следует принципу «наименьшей неожиданности»: программа должна вести себя так, как ожидает программист. Однако в контексте Ruby это означает наименьшее удивление не при знакомстве с языком, а при его основательном изучении."

Цитата:

Сообщение от Kolyaj
Да, с учётом того, что такое массив в JavaScript, это логичное поведение.

другими словами, мы любим javascript таким какой он есть :)

Цитата:

Сообщение от vflash
вот мне этот момент никогда в голову не приходил и даже подумать не мог, что кто та так сделает. это не особенность языка , это просто кто-то так решил сделать, а потом все повторили, а потом придумали объяснение.

только не будем забывать, что он создавался в спешке...

Цитата:

Сообщение от vflash
hasOwnProperty тоже когда-то в стандарте был целую тучу лет. Но одумались, покаялись грешные ).

а что разве уже нету?

по поводу dart, они говорят о фундаментальных проблемах в javascript, которые нельзя изменить, не начав с нуля, либо очень сложно и это займет слишком много времени. Рассуждения на тему, что это могут быть за проблемы можно почитать здесь и здесь (еще наткнулся на сайт с wtf'ами javascript). На мой взгляд, наиболее вероятные проблемы - статическая типизация и производительность. Не то чтобы для меня это проблемы, но может для каких-то проектов это важно. Ну и в javascript есть вещи, которых лучше бы не было или лучше чтобы они было сделаны по-другому. Но не думаю, что это причина для создания нового языка.

кстати, после ecma-262-3 там уже приняли какую-то спецификацию?

Gozar 19.10.2011 21:43

x-yuri,
сорь, что не в тему, кинь ссылку на лучшие форумы или правильные форумы, ты как-то кидал ссылку на статью. Не могу вспомнить название, толи "эти страшные форумы" или что-то в этом духе.
Мне срочно пришлось писать форум, чужой взять не могу в силу определенных обстоятельств, хочу избежать граблей.
Там ещё юзабилити обсуждалось.

x-yuri 19.10.2011 22:10

http://www.artgorbunov.ru/bb/soviet/20071015/

B~Vladi 19.10.2011 22:56

Цитата:

Сообщение от x-yuri
это не что иное как "это просто кто-то так решил сделать, а потом все повторили, а потом придумали объяснение."

Главное что придумали ;)
А о ActionScript что скажите? Тоже накосячили? Или просто повторили?

vflash 19.10.2011 23:27

Цитата:

Сообщение от B~Vladi
А о ActionScript что скажите? Тоже накосячили? Или просто повторили?

а поди разбери теперь кто папа.

кстати
alert([,,,,,,,,,,1].join('+'))


Часовой пояс GMT +3, время: 14:14.