使用Object.defineProperty在原型中创建特定于实例的属性?

时间:2013-02-28 02:09:25

标签: javascript properties prototype pseudo-class defineproperty

我正在尝试在原型中创建一个属性,因此它将在所有实例中可用(不能将它放在构造函数中,并且不希望通过instance.propertyname = *创建它;如果可能的话。以下代码为例:

function A() {

}
A.prototype.constructor = A;

Object.defineProperty(A.prototype, 'B', {
    writable: true,
    enumerable: true,
    value: null
});

var a = new A();
a.B = 'test';
var b = new A();
var c = new A();
b.B = '2';

console.log(a,b,c);

产生输出:

A {B: "test", B: null} A {B: "2", B: null} A {B: null}

如何让它产生:

A {B: "test"} A {B: "2"} A {B: null}

0 个答案:

没有答案