在谷歌应用脚​​本平台上键入检查

vet*_*cka 2 google-apps-script

有没有办法在google apps脚本中检查againts内置类型?我不知道如何访问内置类型的构造函数.所以我不能使用instaceof运算符.

例如个人资料(https://developers.google.com/apps-script/class_analytics_v3_schema_profile)

function getReportDataForProfile(profile) {
if (profile instanceof Profile) // Profile is undefined...
...
}
Run Code Online (Sandbox Code Playgroud)

还有什么是令人困惑的:当我得到一个Profile的实例(在变量配置文件中)

profile.constructor // is undefined
Run Code Online (Sandbox Code Playgroud)

Ste*_*kiy 7

观察输出后Logger.log()很明显,对于大多数内置的Google Apps对象,toString()方法的输出是类名:

var sheet = SpreadsheetApp.getActiveSheet()
if (typeof sheet == 'object')
{
    Logger.log(  String(sheet)     ) // 'Sheet'
    Logger.log(  ''+sheet          ) // 'Sheet'
    Logger.log(  sheet.toString()  ) // 'Sheet'
    Logger.log(  sheet             ) // 'Sheet' (the Logger object automatically calls toString() for objects)
}
Run Code Online (Sandbox Code Playgroud)

所以上面的任何一个都可以用来测试对象的类型(除了最后一个显然只适用于它的例子Logger)