javascriptの変数について教えてください。

var ttt=a_ttt || windowとホームページからソースコードを表示すると、書いてあります。
|| window はどういう意味なのでしょうか?自分の作っている.js ファイルに書くと、windowが宣言されてないと出ます。

回答の条件
  • 1人2回まで
  • 登録:2009/12/23 09:15:27
  • 終了:2009/12/23 18:50:12

ベストアンサー

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922009/12/23 09:56:00

ポイント60pt

||は論理OR演算子です。

expr1 || expr2

expr1 を true と見ることができる場合は、expr1 を返します。そうでない場合は、expr2 を返します。したがって、真偽値と共に使われた場合、 演算対象のどちらかが true ならば、|| は、true を返し、両方とも false の場合は、false を返します。

Logical Operators - MDC

変数a_tttの内容がfalseもしくはnullで値が存在しないので、windowを変数tttに代入しているのだと思います。

windowが宣言されていない理由はソースを全て貼りつければ誰かがわかるかもしれません。

id:shotomo

ありがとうございます。windowの変数を探します。ありがとうございました。

参照もリンクしていただきありがとうございました

2009/12/23 18:49:53
  • id:kebo987654
    javascriptの論理和演算子「||」は、

    左オペランドが真の場合 … 左オペランドの値を返し、右オペランドを評価しない。
    右オペランドが偽の場合 … 右オペランドの値を返す。

    という機能を持った演算子です。

    したがって

    var ttt = a_ttt || window;

    とすれば、tttには次のように値が代入されます。
    a_tttが真,windowが真 → a_ttt
    a_tttが真,windowが偽 → a_ttt
    a_tttが偽,windowが真 → window
    a_tttが偽,windowが偽 → 右オペランドの値( = window = 偽 = 0,false,null,undefined,...etc )

    ということでよろしいですか?
  • id:shotomo
    ありがとうございます。windowの変数を探します。ありがとうございました

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません