Вопрос:

Почему Array.prototype.some не назван как .any?

javascript

61 просмотра

2 ответа

2488 Репутация автора

anyзвучит более нативно, и someотчасти подразумевает количество элементов, соответствующих предикату.

Почему стандарт называет метод некоторыми вместо любых?

Автор: Gqqnbig Источник Размещён: 22.08.2016 08:27

Ответы (2)


4 плюса

11156 Репутация автора

Это было из-за prototype.js, который добавил Iterable.anyметод к прототипу массивов. Эта практика в настоящее время осуждается по уважительным причинам, но прототип был одной из самых ранних библиотек, и IIRC также следовал примеру rails (rails monkey-patches встроенные классы Ruby).

TC-39, как правило, наклоняется назад, чтобы избежать поломок, согласно AFAIK стандартная практика заключается в том, чтобы сканировать сеть и видеть, насколько широко она используется, и в этот момент принимается решение, которое почти всегда заключается в выборе другого имени.

Автор: Jared Smith Размещён: 22.08.2016 08:31

2 плюса

177553 Репутация автора

Я не знаю историю названия. Тем не менее, заявление

array.some(func)

будет математически переведено как

∃ i ∈ {0, …, length(array)-1} : func(array_i, i, array)

Это даже упоминается в спецификации :

some действует как квантификатор «существует» в математике.

И ∃ квантификатор , на английском языке, также называется «для некоторых».

Так что "некоторые" мне кажется нормальными.

Автор: Oriol Размещён: 22.08.2016 08:43
Вопросы из категории :
32x32