dil: (Default)
dil ([personal profile] dil) wrote2005-10-18 01:55 pm

А вот JavaScript точно изобрели полные ненатуралы

потому что описание объектов делать посредством функций - такого нормальный человек точно придумать не может..
function SomeObject() {
  this.member = ...
}

и потом
var o = new SomeObject()

[identity profile] duke-igthorn.livejournal.com 2005-10-18 01:03 pm (UTC)(link)
Если когда-нибудь решите начистить торец авторам оного языка - меня позовите, пожалуйста...

[identity profile] kukutz.livejournal.com 2005-10-19 10:23 pm (UTC)(link)
Отличный язык, лучше очень многих других.
А какие у вас к нему претензии?

[identity profile] bacek.livejournal.com 2005-10-18 01:13 pm (UTC)(link)
http://log.ometer.com/2005-10.html#18

I have a new JavaScript theory which is that they were LISP-envious. They were all "you know, Lisp had it right to design the language around the One True data structure - they just had the wrong one. So our new language is not list processing, it's HASH TABLE PROCESSING. HOLY SHIT. SCOPES ARE HASHES. OBJECTS ARE HASHES. TYPES ARE HASHES. LISTS ARE HASHES. EVERYTHING YOU TYPE AUTOMATICALLY BECOMES A HASH ENTRY. WOOOOOHOOOOOOOOOOO"

[identity profile] dil.livejournal.com 2005-10-18 01:43 pm (UTC)(link)
Ну хорошо, но почему объекты надо было засовывать в хэш функций, а не в какой-нибудь отдельный хэш объектов?

"Вы просто не умеете их готовить" =)

[identity profile] kuso [npj.ru] (from livejournal.com) 2005-10-18 02:04 pm (UTC)(link)
Неплохое решение конструктора класса, на мой взгляд, довольно эргономичное.

Re: "Вы просто не умеете их готовить" =)

[identity profile] dil.livejournal.com 2005-10-18 02:08 pm (UTC)(link)
Угу, только пространства имен немножко пересекаются, и при чтении путаница происходит, а так, конечно, ничего..

Re: "Вы просто не умеете их готовить" =)

[identity profile] kuso [npj.ru] (from livejournal.com) 2005-10-18 02:13 pm (UTC)(link)
Пространства чего?

В JS единое пространство для всех переменных. Функции и прочие объекты (функция -- разновидность объекта) -- разновидность переменных.

Поэтому некоторый-строковый-идентификатор всегда будет указывать на одну сущность. Это, на мой взгляд, хорошо (хорошо, что не бывает var foo и foo() как двух совершенно независимых сущностей).

Путаница от синтаксиса
function someClass() { ... }?

Можно использовать, скажем:
someClass.prototype.someMethod = function() {...}
или
someClass.prototype = { property: "value", method : function() {...} };

[identity profile] dimas.livejournal.com 2005-10-18 01:30 pm (UTC)(link)
хе-хе ...

ты, наверное, не видел список "недокументированных расширений" для Вижуал Студии ... да и у гнуси своего хватате ...

а "местные" функ.об"екты делать - почему бы и нет ... так сказать единство формы и сущности :)))

[identity profile] kukutz.livejournal.com 2005-10-19 10:24 pm (UTC)(link)
Присоединяюсь к Кусо про "готовить".