# Операции с объектами в функции в 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`. Убедитесь, что функция будет находить сумму с учетом новых элементов.

← →
↑
en ru