GoogleAppsScript

【GAS】変数と定数/演算子を解説【初学者必見!】

変数の使い方や定数の役割から、演算子の使い分けまで基本的な概念に焦点を当てて解説しています。

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とは

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"
文字列操作の解説
【GAS】文字列操作の解説(結合,連結,文字列に変数から埋め込む方法)Google Apps Script(GAS)での文字列操作に焦点を当て、文字列結合や連結、変数埋め込み、テンプレートリテラルの効果的な使用方法を解説します。また、文字列を変数から埋め込むことで、柔軟なテキスト生成が可能になります。...

文字列の比較

文字列の比較は、比較演算子を使用して行います。文字列の大小を比較することもできます。

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のif文解説記事のサムネイル
【GAS】if文(条件分岐)を図解付きで解説|else-ifや比較演算子・論理演算子の使い方についてGoogle Apps Scriptでのif文を中心とした条件分岐の使い方を解説します。条件式と真偽値、elseif文の活用から始まり、複数の条件分岐や比較演算子の重要性まで詳細に解説。さらに、switch文で可読性を向上させる方法も紹介しています。...

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のfor文解説
【GAS】for文(繰り返し)を解説|break,continue,for-ofの使い方についてGoogle Apps Script(GAS)でのfor文(繰り返し処理)の使い方を解説します。breakやcontinueなどの制御方法や、配列要素の取得に便利なfor-of文も紹介。GASのプログラミングを効率的に行いたい初心者から中級者まで必見の内容です。...

GASのデータ型とリテラルについて

データ型は、変数に格納されるデータの種類を指します。また、リテラルは直接書かれた値そのものを表します。

基本データ型の紹介から配列とオブジェクト、リテラルの使い方についても見ていきましょう。

基本データ型(数値、文字列、真偽値)の紹介

プログラム内で使われる基本的なデータ型には、数値、文字列、真偽値があります。それぞれの特徴と使い方を理解しましょう。

  • 数値(Number): 整数や小数を表します。
  • 文字列(String): テキストを表します。
  • 真偽値(Boolean): 真(True)か偽(False)の値を持ちます。

配列とオブジェクトの基本

配列とオブジェクト複数のデータをまとめて扱うためのデータ型です。

配列はリストのようなもので、オブジェクトは関連する情報をグループ化したものです。

// 配列の例
let fruits = ["apple", "banana", "orange"];

// オブジェクトの例
let person = {
  name: "John",
  age: 30,
  isStudent: false
};

配列に関する詳しい解説は以下の記事をご覧ください。

GASのsetValueのサムネイル
【GAS】setValueの解説|スプレッドシートのセルに変数や配列の値を入れる方法Google Apps Script(GAS)でスプレッドシートのセルに値を入れる方法を紹介。setValueとsetValuesの違いについて図解と共に詳しく解説します。一つのセルに値を設定する方法から、配列を利用して複数のセルに一括で値を書き込む方法についても解説します。...

リテラルの意味と使い方

リテラルは、直接値を表すものです。変数を使わずにその値そのものをプログラム内に書く方法です。

let numberLiteral = 42;       // 数値リテラル
let stringLiteral = "Hello";  // 文字列リテラル
let booleanLiteral = true;    // 真偽値リテラル