我想检查 Apps 脚本中的变量是否是字符串,但发现当变量实际上是字符串时 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');
}
记录这两条消息:
"a" is not a String
String("b") is not a String
文档不清楚支持的 ECMAScript 子集,尽管从代码执行没有异常的事实来看,instanceof 显然是一个有效的运算符,而 String 是一个有效的类型。
检查变量类型的适当方法是什么?