web-dev-qa-db-fra.com

Accéder aux propriétés de l'objet dans l'objet

Duplicata possible:
Accéder à la valeur littérale de l'objet JavaScript dans le même objet

Regardez d'abord l'objet JavaScript suivant

var settings = {
  user:"someuser",
  password:"password",
  country:"Country",
  birthplace:country
}

Je veux définir la valeur de birthplace comme country, donc je mets la valeur de l'objet country devant birthplace mais cela n'a pas fonctionné pour moi , J'ai aussi utilisé this.country mais a échoué. Ma question est de savoir comment accéder à la propriété de l'objet dans l'objet.

Certains utilisateurs sont accros à demander "ce que vous voulez faire ou envoyer votre script, etc." la réponse pour ces personnes est simple "je veux accéder à la propriété d'objet dans l'objet" et le script est mentionné ci-dessus.

Toute aide serait appréciée :)

Cordialement

47
Adnan

Vous ne pouvez pas référencer un objet lors de l'initialisation lorsque vous utilisez la syntaxe littéral objet. Vous devez référencer l'objet après sa création.

settings.birthplace = settings.country;

La seule façon de référencer un objet lors de l'initialisation est lorsque vous utilisez une fonction constructeur.

Cet exemple utilise une fonction anonyme comme constructeur. Le nouvel objet fait référence à this.

var settings = new function() {
    this.user = "someuser";
    this.password = "password";
    this.country = "Country";
    this.birthplace = this.country;
};
71
I Hate Lazy

Vous ne pouvez pas accéder à l'objet à l'intérieur de lui-même. Vous pouvez utiliser la variable:

var country = "country";
var settings = {
  user:"someuser",
  password:"password",
  country:country,
  birthplace:country
}
1
Joe