変数の使い方や定数の役割から、演算子の使い分けまで基本的な概念に焦点を当てて解説しています。
GAS初心者の方も、自分だけの便利なスクリプトを作成するための一歩を踏み出すヒントが満載です!
GASの変数の宣言と利用
変数は、プログラム内で値を一時的に格納するために使用される重要な概念です。
プログラムでは、情報を保存したり処理したりするために変数が使われます。
変数は箱のようなもので、その中にデータを入れることができます。
let
以下では、変数の宣言と利用方法について具体的な事例を交えて解説します。
変数の宣言と初期化
変数を使う前に宣言し、必要なら初期値を設定します。宣言は、変数の存在をプログラムに知らせることです。初期化は、最初の値を代入することです。
let itemPrice; // 変数の宣言
itemPrice = 100; // 初期化
let quantity = 5; // 変数の宣言と初期化を同時に行うこともできる
let totalPrice = itemPrice * quantity; // 別の変数を使って計算
console.log(totalPrice); // 500
変数のスコープとライフタイム
変数は、それが使える範囲(スコープ)が決まっています。また、変数はプログラム実行中に生きている期間(ライフタイム)があります。
let greeting = "こんにちは!"; // 関数内で宣言
if (true) {
let blockScopedVar = "ブロック内の変数"; // ブロック内で宣言
console.log(blockScopedVar);
}
console.log(greeting); // 関数内なら使える
// console.log(blockScopedVar); // エラー: ブロック外からは使えない
GASの定数の宣言と利用
定数は、プログラム内で変更できない値を表します。一度値が代入されると、その後変更することができません。
定数の宣言と利用方法を以下の例を通じて詳しく見ていきましょう。
定数の宣言と使用方法
定数は、const キーワードを使用して宣言します。
const
宣言された定数は後から値を変更することができません。以下は定数の宣言と使用の例です。
const PI = 3.14159;
const MAX_VALUE = 100;
function calculateCircleArea(radius) {
return PI * radius * radius;
}
function isValueWithinLimit(value) {
return value <= MAX_VALUE;
}
定数の利点と使い所
定数は、プログラム内で一貫性を保つために使用されます。主な利点と使い所を以下にまとめました。
利点:
- コードの理解が容易:意味のある名前の定数は、コードの意図を明確にします。
- バグのリスク低減:誤って値を変更する可能性が減少し、安全性が向上します。
使い所:
- 数学的な定数(円周率など):計算において重要な値を定数として宣言し、コード全体で一貫性を持たせます。
- 制約や制限の表現:特定の値を限定するために、定数を使用して条件式を分かりやすくします。
let,const,varの違いについて
varとは
var は、古いバージョンのJavaScriptで使用されていた変数宣言の方法です。
var
var で宣言された変数は、関数スコープまたはグローバルスコープで有効です。
また、変数宣言前に使用してもエラーが発生しないため、スコープ内で宣言前に変数にアクセスすると undefined が返されます。
function example() {
var a = 10;
if (true) {
var b = 20;
}
console.log(a); // 10
console.log(b); // 20
}
console.log(a); // エラー: a is not defined
varが最近使われなくなってきている理由
最近のJavaScriptコードでは、let と const が広く使われております。
一方で、var はあまり使われなくなってきています。
以下にその主な理由を説明します。
var で宣言された変数は関数スコープまたはグローバルスコープで有効です。しかし、var で宣言された変数は、その宣言が行われたブロックよりも前でアクセスできてしまうという問題があります。これは、変数が巻き上げられる(hoisting)と呼ばれる挙動によるものです。これにより、予期しない挙動やバグが発生する可能性が高まります。
var で宣言された変数は、同じスコープ内で再宣言できてしまいます。また、再代入も制限がないため、意図しない値の変更が発生しやすくなります。これにより、コードの予測性が低下し、バグの原因となることがあります。
一方で、ES6(ECMAScript 2015)から導入された let と const は、これらの問題を改善しました。
- let はブロックスコープ内でのみ有効であり、スコープの挙動がより予測可能です。また、再代入は可能ですが、再宣言は不可能です。
- const はブロックスコープ内でのみ有効であり、再代入が不可能ですが、オブジェクトや配列などの複合データ型の内容は変更可能です。
これにより、let と const を使用することで、コードの品質や保守性が向上し、バグの発生リスクが低減します。そのため、var よりも let と const が推奨されています。
ES6(ECMAScript 2015)は、JavaScriptの最新バージョンであり、新しい言語の機能や構文が導入された重要なリリースです。
GASの命名規則について
プログラム内で使用する変数や関数の名前を付ける際には、一定の規則に従うことが重要です。適切な命名はコードの可読性を向上させます。
キャメルケースとスネークケースの違い
キャメルケースとスネークケースは、変数や関数の名前を書くときのスタイルです。それぞれどのような特徴があるのかを理解しましょう。
キャメルケース: 複数の単語を繋げる際に、最初の単語を小文字で始めて、次の単語からは最初の文字を大文字にします。例: calculateTotalPrice
スネークケース: 複数の単語をアンダースコア(_)で繋げます。全ての文字は小文字です。例: calculate_total_price
良い変数名と関数名の付け方
良い命名は、コードの理解を助けます。変数や関数の名前は短くても意味が分かりやすく、何をしているかがわかるようにすることが大切です。
- 具体的な名前を使う: totalPrice のように、変数が何を表しているかが分かる名前を選びましょう。
- 関数の動作を示す名前: calculateTotalPrice のように、関数の動作を示す名前を付けてみましょう。
- 略語を避ける: calcPrice のように略語だけの名前よりも、分かりやすい名前を選びましょう。
GASの文字列の連結と比較
文字列操作は、テキストデータを結合したり比較したりする際に使用されます。以下では、文字列の連結と比較に関する例を示します。
GASの演算子について
演算子はプログラム内で数値や変数を操作する際に使用されます。以下では、よく使用される演算子やその使用方法について紹介します。
文字列の連結
文字列の連結は、+ 演算子を使用して行います。例えば、以下のように文字列を結合できます。
let firstName = "John";
let lastName = "Doe";
let fullName = firstName + " " + lastName; // "John Doe"

文字列の比較
文字列の比較は、比較演算子を使用して行います。文字列の大小を比較することもできます。
let str1 = "apple";
let str2 = "banana";
let isGreater = str1 > str2; // 辞書順で比較
GASの算術演算子について
算術演算子は、数値データに対して行う加算、減算、乗算、除算などの操作を可能にします。以下の演算子を使った例を示します。
let a = 10;
let b = 5;
let sum = a + b; // 加算
let difference = a - b; // 減算
let product = a * b; // 乗算
let quotient = a / b; // 除算
演算子 | 説明 | 例 |
---|---|---|
+ | 加算 | 3 + 5 は 8 |
– | 減算 | 10 – 7 は 3 |
* | 乗算 | 4 * 6 は 24 |
/ | 除算 | 20 / 4 は 5 |
% | 剰余(余り) | 15 % 4 は 3 |
比較演算子と論理演算子の基本
比較演算子と論理演算子は、条件の評価や真偽値の操作に使用されます。以下では、よく使用される比較演算子と論理演算子について説明します。
let x = 10;
let y = 5;
// 比較演算子
let isEqual = x == y; // 等しいかどうか
let isNotEqual = x != y; // 等しくないかどうか
let isGreater = x > y; // 大きいかどうか
let isLess = x < y; // 小さいかどうか
// 論理演算子
let logicalAnd = (x > 0) && (y > 0); // 両方が真の場合に真
let logicalOr = (x > 0) || (y > 0); // どちらかが真の場合に真
let logicalNot = !(x > 0); // 真偽を反転
真偽値(Boolean)は、プログラムで「はい」か「いいえ」の答えを使うためのデータ型です。プログラム内で何かが正しいかどうかを判断するのに使います。例えば、問題が解けたら「はい」、解けなかったら「いいえ」など、シンプルな判断をするのに役立ちます。
演算子の使い方について、詳しく知りたい方は以下の記事がおすすめです。

GASの代入演算子について
代入演算子は、変数に値を代入する際に使う記号です。
単純な代入だけでなく、複数の変数を組み合わせて代入する方法についても見ていきましょう。
代入演算子の基本
変数に値を代入する際には、等号(=)を使った代入演算子を使用します。
let x; // 変数の宣言
x = 10; // 代入演算子を使って値を代入
let y = 5; // 変数の宣言と代入を同時に行う
複合代入演算子の使用例
複合代入演算子は、変数の値を計算しながら更新するための便利な方法です。
let total = 0;
let itemPrice = 100;
let quantity = 3;
total += itemPrice * quantity; // total = total + (itemPrice * quantity)
total -= 20; // total = total - 20
total *= 1.1; // total = total * 1.1
GASのインクリメント/デクリメントについて
インクリメントとデクリメントは、変数の値を1増やしたり減らしたりする操作です。前置と後置の違い、注意点についても見ていきましょう。
前置と後置のインクリメント/デクリメント
インクリメントは変数の値を1増やすことを意味し、デクリメントは1減らすことを意味します。前置と後置の違いは、操作のタイミングです。
前置インクリメント/デクリメント: 操作を先に行い、その後で変数を使います。
let x = 5;
let y = ++x; // xが6になり、yも6になる(前置インクリメント)
let z = --x; // xが5に戻り、zも5になる(前置デクリメント)
後置インクリメント/デクリメント: 変数を使った後に操作を行います。
let a = 5;
let b = a++; // bが5になり、aが6になる(後置インクリメント)
let c = a--; // cが6になり、aが5に戻る(後置デクリメント)
使用上の注意点
インクリメントやデクリメントは簡単に使えるものですが、いくつか注意が必要です。
- 複雑な式と一緒に使わない: y = x++ * 2; のような式と組み合わせると、予期しない結果になる可能性があります。
- 使いすぎに注意: コードが複雑になりやすいので、必要最低限に使いましょう。
インクリメントはfor文でよく使うので合わせて確認しておくことをオススメします!

GASのデータ型とリテラルについて
データ型は、変数に格納されるデータの種類を指します。また、リテラルは直接書かれた値そのものを表します。
基本データ型の紹介から配列とオブジェクト、リテラルの使い方についても見ていきましょう。
基本データ型(数値、文字列、真偽値)の紹介
プログラム内で使われる基本的なデータ型には、数値、文字列、真偽値があります。それぞれの特徴と使い方を理解しましょう。
- 数値(Number): 整数や小数を表します。
- 文字列(String): テキストを表します。
- 真偽値(Boolean): 真(True)か偽(False)の値を持ちます。
配列とオブジェクトの基本
配列とオブジェクトは複数のデータをまとめて扱うためのデータ型です。
配列はリストのようなもので、オブジェクトは関連する情報をグループ化したものです。
// 配列の例
let fruits = ["apple", "banana", "orange"];
// オブジェクトの例
let person = {
name: "John",
age: 30,
isStudent: false
};
配列に関する詳しい解説は以下の記事をご覧ください。

リテラルの意味と使い方
リテラルは、直接値を表すものです。変数を使わずにその値そのものをプログラム内に書く方法です。
let numberLiteral = 42; // 数値リテラル
let stringLiteral = "Hello"; // 文字列リテラル
let booleanLiteral = true; // 真偽値リテラル
