JavaScriptにおける関数を用いたオブジェクト操作
オブジェクトに、何らかの有益な操作を実行する関数を追加してみましょう。 例えば、オブジェクトの要素の合計を見つける関数です。
以下のオブジェクトがあるとします:
let obj = {a: 1, b: 2, c: 3};
シンボルを作成します:
let sym = Symbol();
関数を記述します:
obj[sym] = function() {
};
オブジェクトにバインドされた関数内では、
thisはそのオブジェクト自体を指します:
obj[sym] = function() {
console.log(this); // {a: 1, b: 2, c: 3}
};
作成した関数を用いて、オブジェクトの要素の合計を求めます:
obj[sym] = function() {
let sum = 0;
for (let key in this) {
sum += this[key];
}
return sum;
};
関数を呼び出して、オブジェクト要素の合計を取得します:
let sum = obj[sym]();
console.log(sum); // 6を出力
以下の配列が与えられています:
let arr = [1, 2, 3];
このレッスンで説明した方法を使用して、 配列の要素の合計を返す関数を配列に追加してください。
作成した関数を呼び出し、正しく合計を求められることを確認してください。
pushメソッドを使用して配列にいくつかの要素を追加してください。
関数が新しい要素を含めた合計を正しく求めることを確認してください。