JavaScriptではすべての変数が真実または偽であるという事実を利用できます。言い換えると、すべての変数をtrue
またはに強制変換(変換)することができますfalse
。
null
は偽物であり、内容のある文字列は真実です。つまり、次のことを意味します。
var a = null;
var b = 'hello';
if (a) {
// does not run
} else {
// runs
}
if (b) {
// runs
}
三元式や論理OR演算子など、他の種類の式も使用できます。
alert(a ? 'yes' : 'no'); // => no
alert(b ? 'yes' : 'no'); // => yes
alert(a || b); // => hello
この場合、論理ORが最も興味深い選択です。演算子を使用すると、次のようになります。
- 左側が真であると評価した場合は、その値を返します。
- それ以外の場合は、右側が評価する値を返します。
上記の例では、a
はnull
、なので、偽物です。式は、右側の値を返しますb
。したがって、この動作を利用するにはvarFirstName || ''
、を記述します。これにより、名(存在する場合)が返されるか、nullの場合、右側に空の文字列が返されます。
function ShowFullName() {
var varFirstName = Xrm.Page.getAttribute("lauren_firstname").getValue();
var varLastName = Xrm.Page.getAttribute("lauren_lastname").getValue();
Xrm.Page.getAttribute("lauren_name").setValue(((varFirstName || '') + " " + (varLastName || '')).trim());
}
trim
結果から余分なスペースを削除するための呼び出しを追加しました。