javascript について


GEvent.addListener(map, "click", function(marker, point){
marker ? map.removeOverlay(marker) : map.addOverlay(new GMarker(point, { draggable: true }));
});

このコードは、このように短くしないで書くとどうやって書くのでしょうか?
どういうコードをこうやって短縮して履いているのかが知りたいです。

「?」や「:」を何というのでしょうか?

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/05/12 14:47:32
  • 終了:2011/05/12 16:36:13

ベストアンサー

id:nattow No.1

nattow回答回数102ベストアンサー獲得回数272011/05/12 15:47:01

ポイント42pt

"?", ":" の組み合わせは三項演算子といいます。

大雑把にいうと if 分の省略記法のようなものです。

問題文は以下のコードと同等になります。

GEvent.addListener(map, "click", function(marker, point){
  if(marker){
    map.removeOverlay(marker);
  }else{
    map.addOverlay(new GMarker(point, { draggable: true }));
  }
});
id:worldtravel

> 三項演算子

ありがとうございました。

2011/05/12 16:35:42

その他の回答(1件)

id:nattow No.1

nattow回答回数102ベストアンサー獲得回数272011/05/12 15:47:01ここでベストアンサー

ポイント42pt

"?", ":" の組み合わせは三項演算子といいます。

大雑把にいうと if 分の省略記法のようなものです。

問題文は以下のコードと同等になります。

GEvent.addListener(map, "click", function(marker, point){
  if(marker){
    map.removeOverlay(marker);
  }else{
    map.addOverlay(new GMarker(point, { draggable: true }));
  }
});
id:worldtravel

> 三項演算子

ありがとうございました。

2011/05/12 16:35:42
id:Lhankor_Mhy No.2

Lhankor_Mhy回答回数775ベストアンサー獲得回数2302011/05/12 15:49:50

ポイント28pt

3項演算子と言います。

http://ja.wikipedia.org/wiki/%E4%B8%89%E9%A0%85%E6%BC%94%E7%AE%9...

 

短く書かない場合は、こうですね。

GEvent.addListener(map, "click", function(marker, point){
  if (marker){
    map.removeOverlay(marker);
  }else{
    map.addOverlay(new GMarker(point, { draggable: true }));
  }
});
id:worldtravel

ありがとうございました。

2011/05/12 16:35:48

コメントはまだありません

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

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

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

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