[過去ログ] + JavaScript の質問用スレッド vol.117 + (1001レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
428(1): デフォルトの名無しさん [sage] 2014/12/10(水) 11:21:15.58 ID:4CT1KEaH(1/5) AAS
>>421421(1): デフォルトの名無しさん [sage] 2014/12/09(火) 23:53:44.65 ID:k/GLXqco(4/4) AAS
> そもそも、配列で末尾カンマしたら length が変わるので、カンマを入れる前とデータが変わっちゃうはずなんだけど
これは訂正
ES3 では最後のカンマは無視する仕様だね(Elision の説明に書いてある)
よって>>416は間違い
>>416では配列初期化子の話だったはずなのに>>418ではオブジェクト初期化子で反論するという頓珍漢な話の持って生き方をする人だね
> ES3 では最後のカンマは無視する仕様だね(Elision の説明に書いてある)
なんでこんな仕様になってるんだろうね。
「値無し」を使う初期化が許されてるんだから、
[1,2,3].length => 3
[1,2,3,].length => 4
[1,2,3,,].length => 5
というふうになってた方が一貫性がある気がするんだが。
[1,2,3,undefined]って明示しろってことかな?
430: デフォルトの名無しさん [sage] 2014/12/10(水) 11:56:01.82 ID:4CT1KEaH(2/5) AAS
>>429それには同意するけど、
var a = [
1,
,
3,
,
,
];
を見たときに、はて要素数はいくつだろうかというのが直感と異なるというのがなんとも・・・。
431: デフォルトの名無しさん [sage] 2014/12/10(水) 11:57:20.93 ID:4CT1KEaH(3/5) AAS
あ、データ部分は5行で要素数も5個だから、たいていの人の直感とは合致するのか。
432(2): デフォルトの名無しさん [sage] 2014/12/10(水) 11:59:45.92 ID:4CT1KEaH(4/5) AAS
こっちの例がいいか。
CSVデータをパースするとき
"1,2,3,".split(",").length =>4となるのと配列の初期化のときで振る舞いが異なるというのが気持ち悪い。
437: デフォルトの名無しさん [sage] 2014/12/10(水) 12:46:04.40 ID:4CT1KEaH(5/5) AAS
>>433まあ自分自身は、言語によって解釈が違うかもしれないような記述はしないんだけどね。
>>429のケースなら、めんどくさいけど最終行のカンマは削る。
lint系ツールで文句言われるかもしれないし・・・。
> なんか無理やり言ってないか…
いや、俺の「直感」がどこから来てるかを説明したかっただけ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s