トップページ > プログラム > 2016年05月30日 > ht1IyunN

書き込み順位&時間帯一覧

30 位/189 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000003000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net

書き込みレス一覧

+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
307 :デフォルトの名無しさん[sage]:2016/05/30(月) 18:22:59.82 ID:ht1IyunN
凄くタイムリーな質問だと思うんですが
var a = [];
a.last = function () {
 let len = this.length;
 return 0 < len ? this[len - 1] : null;
}
みたいな、範囲チェック外はnull返すようなことは不要ですか?
これは仕様としてnullが必要だからそうしてるのではなくて、
まぁせっかくチェックしたんだから返すとしたらnullだろうな、
くらいの判断でそうしてます。

それとも a.last = function () {return this[this.length - 1];} で十分ですか?
「javascriptは単にundefinedを返してくれるので範囲チェックしなくていい」
っていうふうにポジティブな解釈していいですか?
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
310 :デフォルトの名無しさん[sage]:2016/05/30(月) 18:48:17.09 ID:ht1IyunN
>>308
ありがとうございます。でもそれだと、
配列に整数を入れて使うとき悶絶しちゃうと思うんですがw
いや…それは結局nullのときでも一緒ですよね。
undefinedのときでも一緒ではありますね。
それらを代入できるという以上…。

>>309
ありがとうございます。
「a[undefined]のとき」っという表現が不勉強で分からなかったのですが、
いずれにせよ var value = a.last() のあとは単に
if (value) するくらいのことしか考えてませんのでundefinedで十分そうです。
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
312 :デフォルトの名無しさん[sage]:2016/05/30(月) 18:59:41.70 ID:ht1IyunN
>>311
ありがとうございます。popに合わせておこうと思います。
あとはせっかくなんで使う側はせめて if (a.last())
するよりは if (a.last() === void 0) としてみようかと。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。