JavaScriptで継承しようとしています
等
var operation =
{
A: 1,
B: 2,
C: 3
};
var operationImplA =
{
D: 4
};
var operationImplB =
{
D: function (event) {
//do something
}
};
上記に似ていますが、JavaScriptでこれを行う方法がわかりません。
JavaScriptで継承しようとしています
等
var operation =
{
A: 1,
B: 2,
C: 3
};
var operationImplA =
{
D: 4
};
var operationImplB =
{
D: function (event) {
//do something
}
};
上記に似ていますが、JavaScriptでこれを行う方法がわかりません。
あなたは単に使用することができますObject.create
:
var operation =
{
A: 1,
B: 2,
C: 3
};
var operationImplA = Object.create(operation, {
D: {
value: 4
}
});
var operationImplB = Object.create(operationImplA, {
D: {
value: 5
}
});
Object.create
最初の引数と2番目の引数で定義されたプロパティのプロトタイプを使用して新しいオブジェクトを作成します。
これは、JavaScriptでの自然なプロトタイプベースの継承です。
編集
メソッドを追加する場合は、プロパティのように追加します。
var operationImplA = Object.create(operation, {
M: {
value: function (a) {
console.log(a);
}
}
});
operationImplA.M('Some text...'); //'Some text...'
個人的には、John Resigs SimpleJavaScriptInheritanceが本当に好きです。私はすべてのJSプロジェクトに使用しています。試してみてください。