экземпляр String не работает должным образом в скрипте Google 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 является допустимым типом, исходя из того факта, что код выполняется без исключения.

Как правильно проверить тип переменной?

Ответы на вопрос(1)

Ваш ответ на вопрос