Google Apps ScriptでNumber.isNaN()
を使おうとしたところ、以下のようなエラーが発生しました。
TypeError: オブジェクト function Number() { [native code for Number.Number, arity=1] } で関数 isNaN が見つかりません。
そう、Google Apps ScriptにはNumber.isNaN()
がないのです。
グローバル関数のisNaN()
はありますが、こちらは仕様に問題があるので使わないほうがいいでしょう。1
対処法
Number.isNaN()
と同等の処理は簡単に実装できるので、isNaN_
関数を作ってそれを使いましょう。
Google Apps Scriptで書く場合
function isNaN_ (value) {
return typeof value === 'number' && value !== value
}
TypeScriptで書く場合
function isNaN_ (value: any): boolean {
return typeof value === 'number' && value !== value
}