- 26 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 02:42:41.90 ID:BBkFE1FJ.net]
- Array.from()を実装したとして、それがどこまでの範囲で使えるのかは「使う側が確認する必要がある」とする。
つまり、callで突っ込むのは勝手だが、ちゃんと動くかは「確認しろよ」ということだ。 その手の動作範囲を広げていくのは、YAGNIとかKISSとか言われるらしいが、大体無駄に終わる。 だからArray.fromの実装側は自分が使う最小限に留めて良く、間借り側が正常動作を保証しろと考える。 これはおそらくJavaScriptの思想とも合致している。 ArrayのメソッドはgetElementsByTagName等で返されるCollectionに対しても大体動作するが、 動作の保証はしていない。 つまり、間借り側(Collectionでcallする側)が正常動作を保証(確認)する必要がある。 クラスシステムの場合、実装してあれば確実に動作するし、実装していなければ動作はしない。(間借りも出来ない) JavaScriptの場合は、使えそうなら使ってねといういかにも曖昧な感じで、それでいいのか?という疑問はあるが、 上記のように、「バグってたらリロードでおk」ならこの方が色々楽なのは事実だ。 結局の所、出自が(というよりも今も大半の用途でも)チョロスクリプトなので、それ向けに仕様がチューニングされている。 これで大規模なプログラムを組むのがそもそも無理がある、ということなのだとは思う。 チョロスクリプトとして使う分には、なかなか面白い仕様だと思う。
|

|