見出し画像

Nullでなければ処理したい

/**
 * 
 * @param name {srting}
 * @returns {GoogleAppsScript.Spreadsheet.Sheet}
 */
function myGetSheet(name: string = ""): GoogleAppsScript.Spreadsheet.Sheet | null {
  return name ? 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName(name) :
    SpreadsheetApp.getActiveSheet();
}

こんな関数実際には書かないけど、getSheetByName()を使うなら、どこかで必要になる。

getSheetByName(name) は 指定した名前のシートが存在しなければ null を返してしまう。そうするとこの関数の返り値は null か Sheet 型。それを見越して関数の返り値の型をセットしなくてはいけなくなる。

シート型を宣言するのに、すでに

GoogleAppsScript.Spreadsheet.Sheet

と書かなきゃいけないからコードが横に長くなっちゃうんだよなあ。
そう思って、こういうのはいいのかなと考えてみた。

type Sheet = GoogleAppsScript.Spreadsheet.Sheet;

function myGetSheet(name: string = ""): Sheet | null {
  ...
}

構文的には怒られないけど実践的にありなのかな。
今後も調査は続く。

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