- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:論理和演算子を使って、三項演算子のような簡易分岐ができるようなコードを)
三項演算子のような簡易分岐ができるコードを紹介
このQ&Aのポイント
- 論理和演算子を使って、三項演算子のような簡易分岐ができるコードを紹介します。
- bが存在しない場合、cのプロパティであるdを、さらに存在しない場合は500をaに代入します。
- コードの動作を説明し、うまくいかない原因と解決方法についても触れます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
規格は未確認だが、 手元のMinefieldでは var a = this.b || c.d || 500 ; ならうまくいった。
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.4
<script> var c = new Object(); var a ; c.d = 2; try{ a = b; }catch(e){ document.write(e); a =(c.d || 500 ); } document.write(a); </script> としてみれば、a=bでエラーが発生していることがわかります
質問者
お礼
ご回答ありがとうございます。 bを宣言したらエラーが出なくなりました。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.3
var b; //宣言のない変数を使用するとエラーとなるので、宣言だけ行う //(中略) var a = b || c.d || 500 ;
質問者
お礼
ご回答ありがとうございます。 bを宣言したらエラーがでなくなりました。
- zxcv0000
- ベストアンサー率56% (111/196)
回答No.2
b の宣言すらしないからエラーになるのでは? var b = undefined; //b = 1; にしたらどうでしょう?
質問者
お礼
ありがとうございます。
質問者
補足
ご回答ありがとうございます。 var b = undefined; //var b = 1; でうまくいきました。
お礼
ご回答ありがとうございます。 this をつけたらできました。