97 votes

Définir la valeur par défaut des attributs des objets Javascript

Existe-t-il un moyen de définir l'attribut par défaut d'un objet Javascript de telle sorte que :

let emptyObj = {};
// do some magic
emptyObj.nonExistingAttribute // => defaultValue

0 votes

TOUT attribut non existant ou simplement un nom d'attribut CONNU ?

1 votes

let o = new Proxy({}, { get: (o, k) => k in o ? o[k] : 'some default value' }; console.log(o.key1)

0voto

Doug Amos Points 1079

Une approche consisterait à prendre un objet par défaut et à le fusionner avec l'objet cible. L'objet cible remplacerait les valeurs de l'objet defaults.

jQuery a le .extend() La méthode jQuery n'est cependant pas nécessaire, car il existe des implémentations vanilla JS, comme celle que vous trouverez ici :

http://gomakethings.com/vanilla-javascript-version-of-jquery-extend/

-1voto

Je suis venu ici pour chercher une solution parce que l'en-tête correspondait à la description de mon problème, mais ce n'est pas ce que je cherchais, mais j'ai obtenu une solution à mon problème (je voulais avoir une valeur par défaut pour un attribut qui serait dynamique, quelque chose comme une date).

let Blog = {
title  : String,
image  : String,
body   : String,
created: {type: Date, default: Date.now}
}

Le code ci-dessus était la solution pour laquelle j'ai finalement opté.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X