Dopo aver incontrato le opinioni di Douglas Crockford sull'OOP privo di classe, e aver eliminato nuovo e questo in Javascript, ho provato a definire un oggetto con una propria variabile e funzione, e restituendolo in un oggetto javascript, come mostrato di seguito:
var newObj = function (name, lang){
var obj = {
"name":name,
"greeter":greeter
};
return obj;
};
function greeter (lang){
switch (lang){
case "en":return "hi";
case "es":return "hola";
default: return "hello";
}
}
//and finally, use the object
var name = "john", lang = "es";
var obj = newObj(name, lang);
console.log(obj.name);
console.log(obj.greeter(lang));
So che questo codice funziona in NodeJS, ma mi chiedo se sia effettivamente una buona idea farlo in questo modo. Più in particolare, ci sono implicazioni / conseguenze nel restituire funzioni all'interno di un oggetto javascript di cui dovrei essere a conoscenza?