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 {
...
}
構文的には怒られないけど実践的にありなのかな。
今後も調査は続く。