見出し画像

OfficeScripts | 変数と定数

こんにちは。ふらです。今日は変数と定数(定数に近い存在)についてお話したいと思います。プログラム言語を勉強しよう!と思い立って、最初に勉強する言語がOfficeScripts…という方はほぼいないのではないでしょうか。なので変数と定数についてはご理解のある方が多めだとは思いますが、簡単にお話していきたいと思います。


let について

変数を宣言する時は 宣言キーワード + 変数名 が必要になります。この宣言キーワードには let, const, var がありますが、varは古くから使われている宣言キーワードでバグを生みやすいというデメリットがあるのであまり使わないようにしましょう。

letは再代入可能で再宣言禁止という特性をもった宣言キーワードです。

  • 再代入可能:変数を後から変えられる

  • 再宣言禁止:同じ変数名を宣言することができない

後から変更する可能性のある場合は変数としてletで宣言しましょう。

function main(workbook: ExcelScript.Workbook) {

    //変数定義
    let i: number = 1;
    let name: string = "fra"

    console.log(i);
    console.log(name);

}


constについて

constは定数に近しい特性をもった存在です。

  • 再代入禁止:変数を後から変えられない

  • 再宣言禁止:同じ変数名を宣言することができない

このことからconstは定数に近しい特性もっています。定数といってもいいのですが、オブジェクトを代入した際にプロパティの値は変更できてしまいますので、定数に近しい存在と表現しています。

function main(workbook: ExcelScript.Workbook) {

    //定数定義( ほぼ定数 )
    const sh1: ExcelScript.Worksheet = workbook.getWorksheet("Sheet1");
    const sh2: ExcelScript.Worksheet = workbook.getWorksheet("Sheet2");

    console.log(sh1.getName());
    console.log(sh2.getName());

}


varについて

varはブロックスコープを無視してしまうという問題点があります。また同じ変数名も後から宣言できてしまうため。あまり使わない様にしましょう。どうしてもグローバル変数が必要な時にはグローバルスコープで変数宣言して活用しましょう。

//グローバル変数
var j:number = 2;

function main(workbook: ExcelScript.Workbook) {

    //main関数内で宣言した変数を出力
    let i: number = 1;
    console.log(i);
    
    //main関数外のグローバル変数を出力
    console.log("グローバル変数:"+j);

}

以上、変数と定数についてのお話でした。


#OfficeScripts #Officeスクリプト #プログラミング #自動化 #業務効率化 #エクセル #M365

この記事が気に入ったらサポートをしてみませんか?