Bonjour à tous (et bonnes fêtes)

J'ai raté quelque chose d'ultra basique sur le mécanisme des objets en javascript


Pour un projet d'appli j'ai un objet 'parameters' qui stocke 2 objets : les paramètres de base (par défaut) et les paramètres courants (respectivement 'parameters.def' et 'parameters.curent').
Quand un paramètre est modifié par l'utilisateur, le nouveau est stocké dans parameters.curent, mais le truc c'est que je dois conserver les paramètres de base pour pouvoir les comparer avec les paramètres courants.

Et une copie classique de parameters.def copie en référence ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
parameters.def = {
	file: 0,
	...
}
// Copie vers parameters.curent (init)
parameters.curent = {};
for( var s in parameters.def ){
	if ( parameters.def.hasOwnProperty(s) ){
		parameters.curent[s] = parameters.def[s];
	}
}
Par la suite si j'affecte une nouvelle valeur à (par exemple) parameters.curent.file elle est répercutée dans parameters.def.file, d'où mon problème.

Comment fait on pour empêcher ça ?
Merci d'avance