プロが教える店舗&オフィスのセキュリティ対策術

以下のスクリプトのうちの下記の演算子の意味が分かりません。
fsize -= fsize > 9 ? 4 : 0;

比較演算子でネットで検索したのですが、?と:の意味が解読できませんでした。
基礎中の基礎かとは思いますが、どなたか意味を教えて頂けますでしょうか。

===========
function setParagraphs(){
var doc = DocumentApp.openById("……IDを指定……");
var fsize = 36;
var ps = doc.getParagraphs();
for(var p in ps){
var obj = ps[p];
obj.setBackgroundColor("#EEFFEE");
obj.setForegroundColor("#006600");
obj.setFontSize(fsize);
fsize -= fsize > 9 ? 4 : 0;
}
}
===========
※上記スクリプトの文献
http://libro.tuyano.com/index3?id=675001&page=3

宜しくお願いします。

A 回答 (2件)

fsize -= fsize > 9 ? 4 : 0;



これはセンスがない書き方ですね
0を引くなんて考慮しなくていいのでこれで十分です。

if(fsize > 9 ) fsize-=4;

三項演算子は評価する順番が言語によってことなるので
念の為きちんと論理的なブロックに分けてやったほうがいいでしょう

fsize -=((fsize > 9) ? 4 : 0);
    • good
    • 0

こんにちは



Google Apps Scriptというより、javascriptの構文ですね。

 A ? B : c
の形式(Aは条件式)をとって、Aの結果がTrueならBを、FalseならCの値を取ります。

以下の説明を読めばわかると思います。
https://developer.mozilla.org/ja/docs/JavaScript …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!