次のコードxFoo
では、オブジェクト (またはそのプロトタイプ) がbar
値 5 の実際のプロパティを持ち、実際のメソッドを持ちfoo()
ます。これはどのようなオブジェクト表記ですか? xFoo.bar
これは、ECMAScript 5 でプロパティを定義する方法ではありません。これは、関数get()
をxFoo.foo
持つオブジェクトであり、メソッドを持つオブジェクトであると予想していましたvalue()
。ここで何が欠けていますか?
var XFoo = document.registerElement('x-foo', {
prototype: Object.create(HTMLElement.prototype, {
bar: {
get: function () {
return 5;
}
},
foo: {
value: function () {
alert('foo() called');
}
}
})
});
var xFoo = new XFoo();