[過去ログ]
■吉里吉里/KAG/TJS雑談質問スレ■その29 (1002レス)
■吉里吉里/KAG/TJS雑談質問スレ■その29 http://echo.5ch.net/test/read.cgi/gamedev/1433436610/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
272: 名前は開発中のものです。 [sage] 2015/07/31(金) 03:29:40.64 ID:2pluXChD 既にsf.xxxx = [] されてて[0]番目が未定義かどうかを調べたいのか、 それとも配列自体が定義されてるか調べたいのかよくわらんけど どっちにせよundefined比較はtypeofを使うのが必須だね 前者の場合 [if exp="typeof sf.xxxx[0] == 'undefined'"] 後者の場合 [if exp="typeof sf.xxxx == 'undefined'"] ifのexpはそのまま実行時に評価されるので&指定は不要。比較は上では==になってるが===でも全く問題ない ただ、undefined比較だと例えば(後者の場合で)sf.xxxx=0みたいに意図しない値がすでに入っていた場合に スルーされてしまうので、本当に厳密にやるなら function IsObjectInstanceOf(ref, cls, base=sf) { return (typeof base[ref] == "Object") && (base[ref] !== null) && (base[ref] instanceof cls); } みたいなオブジェクトのインスタンスのクラスまで調べる適当なヘルパ関数作っといて [if exp="!IsObjectInstanceOf('xxxx', 'Array')"] [if exp="!IsObjectInstanceOf('xxxx', 'Dictionary')"](※辞書の場合) とかしておくと安心かもしれない まぁぶっちゃけsfやfの初期値はvoid(typeof取った場合のみundefined)なので 他に変更されるような要因がなければ上みたいに長々と書かなくても [if exp="sf.xxxx === void"] で済ませる場合も多いね(記述少なくて楽だし) http://echo.5ch.net/test/read.cgi/gamedev/1433436610/272
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s