たとえば、いくつかの変数がある場合
var t1 = "123";
var t2 = null;
var t3 = "456";
そして、t1 + t2 + t3 を連結したいのですが、そのような文字列の固定出力はありますか、それとも結果はさまざまな Javascript エンジンに依存していますか?
たとえば、いくつかの変数がある場合
var t1 = "123";
var t2 = null;
var t3 = "456";
そして、t1 + t2 + t3 を連結したいのですが、そのような文字列の固定出力はありますか、それとも結果はさまざまな Javascript エンジンに依存していますか?
すべてのブラウザ/エンジンで同じです。このようにすることができます(t1、t2、t3が常に文字列であると仮定します)
var t1 = "123";
var t2 = null;
var t3 = "456";
var result = (t1 || "") + (t2 || "") + (t3 || ""); // Logical OR `||` to avoid null/undefined.
結果は123456
ブラウザに関係なく、同じ出力が返されます。もしあれば、それはnull
異なるかもしれない部分だけです(ありそうもない)
この場合は"123null456"
さまざまなブラウザーで値が文字列に変換される方法に関する不一致を相殺するnull
には、次を使用できます。
function concatAll() {
var s = '';
for(var x in arguments) {
s += arguments[x] == null ? 'null' : arguments[x];
}
return s;
}
var t1 = "123";
var t2 = null;
var t3 = "456";
concatAll(t1, t2, t3); // will return "123null456"