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
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
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/
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 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.
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)