人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascript について

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

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

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

よろしくお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Click JavaScript MAP point コード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● nattow
●42ポイント ベストアンサー

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

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

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

GEvent.addListener(map, "click", function(marker, point){
 if(marker){
 map.removeOverlay(marker);
 }else{
 map.addOverlay(new GMarker(point, { draggable: true }));
 }
});
◎質問者からの返答

> 三項演算子

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


2 ● Lhankor_Mhy
●28ポイント

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 }));
 }
});
◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ