GAS 文字列の結合 空文字に+を使うと自動で0に変換される

Google Apps Scriptにおける文字列の足し算

文字列の足し算は、主に以下の方法がある

  1. 「+」演算子を使用する: 文字列同士を足す最も一般的な方法。
    var str1 = 'Hello'; var str2 = 'World';
    var result = str1 + str2; Logger.log(result); // 出力: HelloWorld
  2. concatメソッドを使用する: Stringオブジェクトのメソッドで、複数の文字列を結合する時に便利。
    var str1 = 'Hello'; var str2 = 'World'; var str3 = '!!';
    var result = str1.concat(str2, str3); Logger.log(result); // 出力: HelloWorld!!
  3. 文字列連結を行うシンプルな関数の作成: 自分で関数を作成することで、より柔軟に文字列の結合を行うことができる。
    function appendStrings(str1, str2) { return str1 + str2; }
    var result = appendStrings('Hello', 'World'); Logger.log(result); // 出力: HelloWorld

しかし、Ver1が空文字の場合、特定の環境や関数の使用によっては、数値型として解釈される場合や、デフォルト値(0など)が適用される際、 0Worldのような結果になってしまうことがあり得える。


GASで文字列を扱う際には、いくつかの注意点がある。

特に、数値と文字列を結合する際に注意が必要。

  • 数値との連結: 数値を文字列として扱う必要があるため、結合時には意図した通りの出力が得られない場合がある。
    たとえば、数値を文字列と結合すると、数値が文字列に変換されて連結される。
    var num = 5; var str = 'カウントは: ' + num; Logger.log(str); // 出力: カウントは: 5
  • 空の文字列に注意: 変数が初期化されていない場合、undefinedとして出力されることがあるため、空文字列や適切な初期値を設定することが重要。
    var str1; var str2 = '世界'; Logger.log('Hello' + str1); // 出力: Hwlloundefined

文字列の結合に関する別のアプローチや特定のメソッドも検討する価値がある。

特に、配列の要素を結合する場合、joinメソッドを使用できる。このメソッドは、配列内のすべての要素を連結して1つの文字列にする。

var fruits = ['リンゴ', 'バナナ', 'オレンジ'];
var result = fruits.join(', ');
Logger.log(result);  // 出力: リンゴ, バナナ, オレンジ

また、複数の文字列を連結する際に、+=演算子を使用することで、元の文字列に後続の文字列を追加することができる。

var greeting = 'Hello';
greeting += 'World';
Logger.log(greeting);  // 出力: HelloWorld

さらに、文字列の反復を用いた特定の連結方法もあり、repeatメソッドを活用して同じ文字列を複数回繰り返すことも可能。

var repeated = 'Hello'.repeat(3);
Logger.log(repeated); // 出力: HelloHelloHello