15 Stimmen

Spielt es eine Rolle, ob ein Wert primitiv oder umschlossen ist?

Man kann verwenden typeof um festzustellen, ob ein Wert primitiv oder umrahmt ist.

Bedenken Sie:

typeof "foo"; // "string"
typeof new String("foo"); // "object"

In Kombination mit Object.prototype.toString könnten wir die folgenden beiden Funktionen definieren

var toString = Object.prototype.toString;

var is_primitive_string = function(s) {
  return toString.call(s) === "[object String]" && typeof s === "string";
};

var is_boxed_string = function(s) {
  return toString.call(s) === "[object String]" && typeof s === "object";
};

Gibt es alle Anwendungsfälle für diese beiden Funktionen? (Oder ähnliche Funktionen für Number , Boolean , usw.).

Das Konzept für diese Frage stammt aus folgenden Überlegungen Kommentar von T.J.Crowder .

Sollten wir uns jemals darum kümmern, ob ein Wert, den wir haben, primitiv oder kastenförmig ist?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X