编程知识 cdmana.com

Introduction et syntaxe des objets (mise à jour à long terme)

Préface

Tu te souviens d'une interview, L'intervieweur a demandéObject,Mais à l'époque, j'avais l'impression que le point d'observation étaitobjectType,Je ne m'y attendais pas.JavaScriptObjets intégrés standardObjectMéthode

Object - javaScript | MDN

Object

ObjectLe constructeur crée un wrapper d'objet
Copier le Code

InJavaScriptMoyenne,Presque tous les objets sontObjectExemple de type,Ils vont tousObject.prototypeHériter des propriétés et des méthodes.Object Le constructeur crée un wrapper d'objet pour une valeur donnée.ObjectConstructeur,L'objet est créé à partir des paramètres donnés,Les conditions spécifiques sont les suivantes:

  • Si la valeur donnée est null Ou undefined, Un objet vide sera créé et retourné
  • Si vous passez une valeur d'un type de base , L'objet dont le type d'emballage est construit
  • Si vous passez une valeur du type de référence , Cette valeur est toujours retournée , Les variables qu'ils copient conservent la même adresse de référence que l'objet source

Lorsqu'il est appelé comme non - constructeur ,Object  Est équivalent à  new Object(). Disponible pour la visualisation Initialisation de l'objet/ Grammaire littérale .

Object Propriétés du constructeur

Object.length La valeur de1

Object.prototype  Pour tousObject Type d'objet ajouter une propriété 

let a = new Object()
a._propto_ === Object.prototype  ( Connaissance de la chaîne prototype ) 
Copier le Code

Syntaxe

// Initialisateur de constructeur 
new Object([value])

//Initialisation de l'objet
{ [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] }
Copier le Code

Méthode statique

Object.assign()

Fusion avec Lorsque l'objet a la même propriété source Même clé dans l'objet source que dans l'objet cible La clé de l'objet source remplace la même clé précédente

// Syntaxe
  Object.assign(target, ...sources)
Copier le Code
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);

console.log(target) //{ a: 1, b: 4, c: 5 }  Change la valeur originale 
console.log(returnedTarget) //{ a: 1, b: 4, c: 5 } 
console.log(source)//{ b: 4, c: 5 } Ça ne changera pas

//Fréquent:

let a = Object.assign(obj,{}) //  Attention aux copies peu profondes 
Copier le Code

Object.defineProperty()

Object.defineProperty()  La méthode définit une nouvelle propriété directement sur un objet,Ou modifier les propriétés existantes d'un objet,Et renvoie cet objet.

Les propriétés nouvellement définies sont contrôlées par leurs valeurs d'attribut et les valeurs d'attribut originales sur l'objet peuvent être modifiées

Syntaxe

Object.defineProperty(obj, prop, descriptor)

const object1 = {};
Object.defineProperty(object1, 'property1', {
  value: 42,
  writable: false
});
object1.property1 = 77;
console.log(object.property) //42
Copier le Code

Paramètres

  • obj

  • Objet pour définir les propriétés.

  • prop

  • Nom de l'attribut à définir ou à modifier ou Symbol .

  • descriptor

  • Descripteur de propriété à définir ou à modifier.

版权声明
本文为[Petit Doo.]所创,转载请带上原文链接,感谢
https://cdmana.com/2021/09/20210914164425972s.html

Scroll to Top