Je manque accidentellement ce mot-clé à l'intérieur de setter, méthodes getter. Elle conduit à quelques bugs étranges: (testé avec Chrome, Firefox)Mot-clé "this" manquant dans setter javascript, méthodes getter
Cas 1:
let user = {
name: "John",
set fullName(value) {
name = value;
},
get fullName() {
return name;
}
};
user.fullName // ""
user.fullName = "Batman"
user.fullName // "Batman"
user.name // "John"
Pourquoi la propriété nom encore "John"? D'où vient "Batman"?
Cas n ° 2: changer le nom variable du code ci-dessus, il arrive quelque chose:
let user = {
anythingButName: "John",
set fullName(value) {
anythingButName = value;
},
get fullName() {
return anythingButName;
}
user.fullName // anythingButName is not defined at Object.get fullName [as fullName]...
};
ne pouvez utiliser aucun nom, mais le mot nom pour la variable dans le code ci-dessus. Je ne sais pas pourquoi?
console.log (window.name); –