Il metodo Object.create()
di ECMAScript 5 non è supportato dai browser obsoleti. Per questi browser occorre una soluzione alternativa. Vediamo quale.
La seguente funzione utilizza il metodo nativo di ECMAScript 5 se è disponibile. Se non lo è, usa un pattern alternativo:
var inherit = function(p) {
if (Object.create) {
return Object.create(p);
} else {
function f() {};
f.prototype = p;
return new f();
}
};
Esempio d'uso:
var A = {
test: 'OK'
};
var B = Object.create(A);
var C = inherit(A);
console.log(B.test); // 'OK'
console.log(C.test); // 'OK'