JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (767レス)
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1449440793/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
17: デフォルトの名無しさん [sage] 2015/12/16(水) 00:04:47.52 ID:4ol9X0cq また型が把握できる場合と、何が来るか本当にわからない場合では当然スタンスが違うと思う。 後者でいうと、Stringが期待される場面でArrayが来た場合なんてどうしようも無いだろうが、 Arrayを期待する場面なら他のArrayLikeなオブジェクトもArrayとして見てやるべきじゃないかという論になる。 そこで、また派閥が分かれるだろう。 何もしないまたはエラーとする(Array.isArray)(Arrayだけしか面倒を見ないから)、イテラブルだけ面倒見る([...arg])か、 多くのArrayLikeを面倒見る(Array.from(arg))か、何もしないまたはエラーとする(例えArrayに変換できなくともArrayのメソッドを持っていればよい) また、配列の使い道によっては@@isConcatSpreadableを考慮するかどうかも問題になってくるだろう。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/17
25: デフォルトの名無しさん [sage] 2015/12/19(土) 02:42:15.14 ID:BBkFE1FJ >>17 それはダックタイピングだと思うが、正直俺はその点に関しては気にならない。 期待通り動けば何でもいい。 気になる人は例えばtoString()の解釈について、 ・ダックタイピングだ。toString()があるから使えるだけ。 ・各型についてtoStringというインタフェースが実装されているのだ。 ・toString()はテンプレート関数で、各型についてオーバーライドされているのだ。 と考えることが出来るかもしれないが、俺はどれでもいいと思っている。 JavaScriptはthisを関数側に持たせているため、callを使って他型のprototype等を間借りすることが出来る。 これは便利ではあるが、しかし真面目にインタフェース等で実装すれば済むことが大半だ。 だからこの方式もthisがいちいちはがれてbindしなければならない方が面倒だ。 classシステムのようにインスタンス側にthisを持たせる方が理に適っているように思う。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/25
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.036s