Heim  >  Artikel  >  Web-Frontend  >  Umfassendes Verständnis von Object.assign

Umfassendes Verständnis von Object.assign

小云云
小云云Original
2018-02-08 14:39:231890Durchsuche

Die Methode Object.assign() wird verwendet, um die Werte aller aufzählbaren Eigenschaften von einem oder mehreren Quellobjekten auf das Zielobjekt zu kopieren. Es gibt das Zielobjekt zurück. In diesem Artikel wird hauptsächlich eine umfassende Analyse von Object.assign mit Ihnen geteilt.

Zum besseren Verständnis wird hier die Polyfüllung von mdn für Object.assign veröffentlicht.

if (typeof Object.assign != 'function') {
  // Must be writable: true, enumerable: false, configurable: true
  Object.defineProperty(Object, "assign", {
    value: function assign(target, varArgs) { // .length of function is 2
      'use strict';
      if (target == null) { // TypeError if undefined or null
        throw new TypeError('Cannot convert undefined or null to object');
      }

      var to = Object(target);

      for (var index = 1; index < arguments.length; index++) {
        var nextSource = arguments[index];

        if (nextSource != null) { // Skip over if undefined or null
          for (var nextKey in nextSource) {
            // Avoid bugs when hasOwnProperty is shadowed
            if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
              to[nextKey] = nextSource[nextKey];
            }
          }
        }
      }
      return to;
    },
    writable: true,
    configurable: true
  });
}

Der Objektkonstruktor erstellt einen Objekt-Wrapper für einen bestimmten Wert. Wenn der Wert null oder undefiniert ist, wird ein leeres Objekt erstellt und zurückgegeben. Andernfalls wird ein Objekt zurückgegeben, dessen Typ dem angegebenen Wert entspricht. Wenn der Wert bereits ein Objekt ist, wird dieser Wert zurückgegeben.
Gib mir eine Kastanie

Das obige ist der detaillierte Inhalt vonUmfassendes Verständnis von Object.assign. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn