24.05.2011, 18:47
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Sweet
|
Идентификаторы timeout-ов наверное.
|
Точно.
Сообщение от Sweet
|
Если это имеет значение, несмотря на некроссбраузерность, то проверить не проблема
|
Это был не вопрос
|
|
24.05.2011, 19:27
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сообщение от FINoM
|
Это был не вопрос
|
Точно
|
|
25.05.2011, 01:49
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от dmitriymar
|
http://www.addconf.ru/event.sdf/ru/a...ySoshnikov/368
|
1. То есть смело можно расширять прототипы (если у прототипа задать свойство с enumerable:false)? Просто других причин я не вижу (кроме идеологических).
2. До сих пор не понимаю, зачем использовать геттер следующим образом:
o = {
a:4,
b:5,
get sum() {
return this.a+this.b;
}
}
3. Что за хуита?
"Я очень радовался, когда понял что это такое" - немного измененная цитата автора.
Это опечатка и вместо x должен быть k?
|
|
25.05.2011, 01:59
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Немного неприятно, что не идет речи о таких фичах, которые были в ES4:
1. Классы
2. Многострочные строки без использования дурацких конкатенаций и не менее идиотского экранирования переносов
"""Я
большая
строка"""
3. Комменты в регулярках
4. Суффиксы (Suffixes on numeric literals denote their type: -7i, 1u, 37d, 14.5m.)
5. "Заполняторы"
[i * i for (i in naturals(10))]
...
Это то что бросилось в глаза (переопределение операторов и прочие спорные моменты не в счет)
|
|
25.05.2011, 02:31
|
|
prodigy
|
|
Регистрация: 01.11.2010
Сообщений: 503
|
|
FINoM,
Сообщение от FINoM
|
1. То есть смело можно расширять прототипы (если у прототипа задать свойство с enumerable:false)? Просто других причин я не вижу (кроме идеологических).
|
Кроме того что свойства прототипа в for in перечисляется есть риск что затрешь чье то расширение или твое затрут. Enumerable решает проблему первого, но второе решено только частично: твое свойство теперь не затрут (если задать только чтение), но надо все равно искать обход того, что имя создаваемого расширения уже может быть занято и у него стоит writable true.
Сообщение от FINoM
|
2. До сих пор не понимаю, зачем использовать геттер следующим образом:
|
Получается некое статическое свойство как, например length, мне кажется можно удобно использовать.
3. Скорее всего опечатка
__________________
readOnly
|
|
25.05.2011, 03:51
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от poorking
|
Получается некое статическое свойство как, например length, мне кажется можно удобно использовать.
|
Метод тоже удобно использовать.
|
|
25.05.2011, 04:24
|
|
prodigy
|
|
Регистрация: 01.11.2010
Сообщений: 503
|
|
FINoM,
Я обратного и не утверждал, но это не одно и тоже, думаю что геттеры и сеттеры очень удобная штука. К примеру какому нибудь свойству, можно задать такой сеттер, что значения присваивать можно будет разных типов данных например, сеттер будет анализировать и приводить к единой системе. И гораздо будет удобнее писать obj.prop = 5, например, чем obj.prop.set(5)
Простой пример: (правда я не проверял ничего, просто наобум, но если так пользоваться можно будет, то это здорово)
var foo = {
val: 0,
set dist(d){
if(typeof d == "number"){
this.val += d;
}
if(typeof d == "string"){
switch(d.replace(/\d*/, "")){
case "km":
this.val += +d.replace("km", "") * 1000 * 100 * 10;
break;
/*
case ...
*/
}
}
},
get dist(){
return this.val + " millimeters";
}
}
//а пользоваться очень удобно
foo.dist += "5km";
alert(foo.dist); //5000000 millimeters
__________________
readOnly
|
|
25.05.2011, 10:59
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от FINoM
|
2. Многострочные строки без использования дурацких конкатенаций и не менее идиотского экранирования переносов
|
Конкатенация удобней. В многострочных строках проблема с отступами: или отступы не делаем, тогда ломается вложенность кода, или делаем, тогда появляются лишние пробелы в строках.
Сообщение от FINoM
|
3. Комменты в регулярках
|
А зачем?
|
|
25.05.2011, 13:04
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от Kolyaj
|
В многострочных строках проблема с отступами
|
Если проблема красивости кода для вас настолько важна, табы можно реплейсить.
Сообщение от Kolyaj
|
А зачем?
|
Дык, удобно же:
/# The protocol is an alpha name followed by colon and double slash
(?P<protocol> [a-z]+)
:
/\/\
# The host is two or more dot-separated alpha names
(?P<host> [a-z]+ (?: \. [a-z]+ )+)
# The path is optionally present
(?P<path> (?: \/ [a-z]+ )* \/? )
/x
|
|
|
|