JavaScript 4©2ch.net (398レス)
JavaScript 4©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1417749547/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
48: デフォルトの名無しさん [sage] 2015/02/17(火) 00:44:58.04 ID:jqPQ5aJG >変数の巻き上げは実際には問題にならない エラーになったほうがバグがすぐわかるじゃん 巻き上げる利点が何もない >未定義値と限らないundefined かなり最近まで「undefined = 1;」とかできた。「undefined 判定」とか検索すると苦労の跡が見える。 最近は変更できなくなったが、古いブラウザへの対応と残されたコードを理解するために知る必要がある。 でも、予約語ではないので変数名には使えて function(){ var undefined = 1; console.log(0[0] === undefined); } とやると0[0]は未定義なのにfalseになる。本来予約語にすべき。 > 使い物にならないtypeof それはさっきあげたJavaScript Gardenより http://bonsaiden.github.io/JavaScript-Garden/ja/#types.typeof 唯一有用なundefinedの判定は上に書いたとおり言語の欠陥がなければいらない記法 文句があるならこれ書いた人にpullreqでも送っとけ >オブジェクトなどに演算子を適用してしまうとエラーも出さずする不可解な挙動 無論、わざと書くことはない。しかし、変数の中身の型を間違えていたりしても一見正常に動いて、中身が変わるとコケる場合がある。 初心者が===を==と書くともっと不思議な動作をするし、逆にこの手の処理がイディオムなってたりもする http://mevius.5ch.net/test/read.cgi/tech/1417749547/48
51: デフォルトの名無しさん [sage] 2015/02/17(火) 01:09:47.26 ID:ihqME62s >>48 > エラーになったほうがバグがすぐわかるじゃん だからundefinedになるからエラーになるって言ってんじゃん > かなり最近まで「undefined = 1;」とかできた。「undefined 判定」とか検索すると苦労の跡が見える。 せめて"use strict"での話しをしろよ > それはさっきあげたJavaScript Gardenより > http://bonsaiden.github.io/JavaScript-Garden/ja/#types.typeof 糞記事 "foo" String string 1.2 Number number true Boolean boolean 少なくともこれが分かる時点で使い道はあるし、実際使われている objectだったらinstanceof使えばいい それで使いものにならないと言ってたら単なるイチャモン付けてるだけ はっきり言って、ちゃんとコード書いてたら型判定なんて必要ない事に気づけよ Booleanクラスが判定出来ないから困っちゃう?ちゃんちゃらおかしいなw http://mevius.5ch.net/test/read.cgi/tech/1417749547/51
54: デフォルトの名無しさん [sage] 2015/02/17(火) 08:36:36.32 ID:T8d9Ogf5 全体的には ID:jqPQ5aJG に同意 >>48 > var undefined = 1; これは本当に何とかして欲しい スコープチェーン上で汚染されるのは ES5 仕様では回避しようがない 現状ではtypeof 演算子なり void 演算子を利用するしか選択肢がないわけだが、ES6 で Keywords に入れてもらえないものかね… http://mevius.5ch.net/test/read.cgi/tech/1417749547/54
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s