オブジェクトと配列 Object.assign 継承、代入
入門JavaScriptプログラミング (JD Isaacks(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT2(オブジェクトと配列)、LESSON 10(Object.assign)、10.6(練習問題)、Q10-1の解答を求めてみる。
コード
// 車
let car = {
drive: function () {
console.log('ブーン');
}
},
patrolCar = Object.assign({}, car, {
siren: "ウ〜"
}),
ambulance = Object.assign({}, car, {
siren: "ピーポー",
hose: function () {
console.log('水');
}
}),
cars = [car, patrolCar, ambulance];
cars.forEach(function (car) {
console.log(car);
car.drive();
if (car.siren) {
console.log(car.siren);
}
if (car.hose) {
car.hose();
}
});
入出力結果(Console)
% node sample1.js
{ drive: [Function: drive] }
ブーン
{ drive: [Function: drive], siren: 'ウ〜' }
ブーン
ウ〜
{ drive: [Function: drive], siren: 'ピーポー', hose: [Function: hose] }
ブーン
ピーポー
水
%