JavaScript: soluzione alternativa ad Object.create() per i browser obsoleti

JavaScript: soluzione alternativa ad Object.create() per i browser obsoleti

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'

Torna su