Apps Script の変数が文字列かどうかを確認したかったのですが、変数が実際には文字列であるのに、instanceof が true を返さないことがわかりました。次のテスト:
function test_instanceof() {
var a = "a";
Logger.log('"a" is ' + ((a instanceof String) ? '' : 'not ') + 'a String');
var b = String("b");
Logger.log('String("b") is ' + ((b instanceof String) ? '' : 'not ') + 'a String');
}
次の 2 つのメッセージをログに記録します。
"a" is not a String
String("b") is not a String
サポートされている ECMAScript のサブセットに関するドキュメントは明確ではありませんが、コードが例外なく実行されたという事実から判断すると、明らかに instanceof は有効な演算子であり、String は有効な型です。
変数の型を確認する適切な方法は何ですか?