2016-08-22 13 views
1

anyはより多くのネイティブサウンドを持ち、some種別は述語問題に一致する項目の数を示します。Array.prototype.someの名前が.anyでないのはなぜですか?

なぜ標準ではメソッドの名前に何かがありますか?

+1

ただの推測ですが、おそらく人気のあるライブラリのいくつかはおそらく 'Array.prototype'に 'any'メソッドをサルでパッチしています。 –

+0

IIRCは、既存のサイトとの競合を最小限に抑える方法で名前が付けられた多数のメソッドの1つです。 – zzzzBov

+0

@zzzzBovので、既存の図書館は最高の名前をとっており、標準では奇妙な名前を選んでいます。それはとても悲しいです。 – Gqqnbig

答えて

4

Iterable.anyメソッドを配列のプロトタイプに追加したのはprototype.js,であったためです。この習慣は正当な理由から却下されましたが、プロトタイプは初期の図書館の1つであり、IIRCはまたレールリード(レールモンキーパッチはRubyの組み込みクラス)に従っていました。

TC-39は、通常、折損を避けるために後方に曲がります。AFAIKは、ウェブをクロールしてどの程度普及しているのかを確認することです。

2

名前の履歴はわかりません。しかし、声明

array.some(func) 

は、数学的に

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

として翻訳されるだろうこれはさえspecに記載されている:数学の数量詞を "存在" のような

some行為。

英語では、∃ quantifierは、「一部のユーザー」とも呼ばれます。

だから「いくらか」は私にとっては良さそうだ。

+2

それは良い点です:存在量限定子との関係です。 –

+0

その意味で、「存在する」は私には良いでしょう。 – Gqqnbig

+0

@LoveRightしかし 'array.exists(func)'は 'array.includes(func)'と混同されるかもしれません。私は 'array.existsItemSuchThat(func)'はうまくいくと思いますが、長すぎます。 – Oriol

関連する問題