gds 23.04.2012 11:10 umodniAC41C113

В спеке на javascript ("Ecma-262.pdf") нет ни малейшего указания на то, меняет ли somestring.match(regexp) переменные $1 .. $n (следовательно, не меняет). Интернеты же говорят об обратном.
Даже если не меняет, то какой практический смысл в match, по итогу? Просто проверить, совпадает ли строка с регекспом? Очень смешно.

1. werehuman 23.04.2012 11:34 Psi+

юзай .exec у регекспа

2. gdswerehuman /1 23.04.2012 11:49

благодарю, грамотная идея.

3. gdswerehuman /1 23.04.2012 12:31 umodniAC41C113

вот ещё вопрос, отдельного псто не заслуживающий. В спеке на .exec сказано, что всякая хуйня, которая не матчится из-за (re1|re2), будет undefined, а firebug показывает мне "(void 0)". Это какие-то его личные, firebug'ные приколы, или таки есть разница между этими значениями? По "===" оно сравнивается в true.

4. werehumangds /3 23.04.2012 12:32 Psi+

хз, похоже на фаербаг

5. gdswerehuman /4 23.04.2012 12:33 umodniAC41C113

то есть, по идее, тестить эти значения через "x === undefined" и будет всё чотко? (точного ответа не прошу, интуиции будет более чем достаточно)

6. werehumangds /5 23.04.2012 12:33 Psi+

я бы даже тестил просто по ==

7. werehumanwerehuman /6 23.04.2012 12:33 Psi+

ты же не собираешься пустые строки получать

8. gdswerehuman /7 23.04.2012 12:34 umodniAC41C113

кстати вот, собираюсь (точнее, сейчас не могу доказать, что пустых строчек не будет). Стало быть, лучше "==="?

9. werehumangds /8 23.04.2012 12:35 Psi+

лучше проверяй по типу. Если не string, то лесом

10. gdswerehuman /9 23.04.2012 12:41 umodniAC41C113

понял идею. Как проверять — тоже понял, typeof(). Пока в кодогенерилку запилю таки "x === undefined" с жырным каментом "проверять по типу, если будут проёбы" (потому что даже ""==undefined вычисляется в false, "===" тем более должно, думаю).
Ещё раз выражаю благодарность за помощь в этом вопросе. Опыта в js у меня немного и весьма давно, поэтому вот и спрашиваю всякое.

11. werehumangds /10 23.04.2012 12:42 Psi+

да ладно, я вообще не видел людей, которые читали бы спецификации языка

12. gdswerehuman /11 23.04.2012 12:44 umodniAC41C113

да мне западло кодить на js, проще налепить кодогенерилку под нужный функционал (конкретно сейчас — тупой и несложный парсинг, который компилирую в регекспы). А для кодогенерилки что нужно — спеку прочитать, выдернуть оттуда нужное, погуглить на тему "во всех ли браузерах оно работает", и вперде.

Do you really want to delete ?