instanceof String verhält sich in Google Apps Script nicht wie erwartet

Ich wollte überprüfen, ob eine Variable in einem Apps-Skript eine Zeichenfolge ist, stellte jedoch fest, dass instanceof nicht true zurückgibt, wenn die Variable tatsächlich eine Zeichenfolge ist. Der folgende Test:

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');
}

Protokolliert diese beiden Nachrichten:

"a" is not a String
String("b") is not a String

Die Dokumente sind in der unterstützten Teilmenge von ECMAScript nicht eindeutig, obwohl instanceof anscheinend ein gültiger Operator und String ein gültiger Typ ist, was an der Tatsache liegt, dass der Code ohne Ausnahme ausgeführt wurde.

Wie kann der Typ einer Variablen überprüft werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage