JavaScript | Практика #190 | ★★★☆☆ | Object
<p><strong>Ответ: <code>{name: "John", age: 26}</code>.</strong></p>
<p dir="auto">Функции <code>changeAge</code> и <code>changeAgeAndName</code> имеют параметр по умолчанию, а именно <em>вновь</em> созданный объект <code>{ ...person }</code>. Этот объект имеет копии всех ключей/значений объекта <code>person</code>.</p>
<p dir="auto">Сначала мы вызываем функцию <code>changeAge</code> и передаем объект <code>person</code> в качестве аргумента. Эта функция увеличивает значение свойства <code>age</code> на 1. <code>person</code> теперь <code>{name: "John", age: 26}</code>.</p>
<p dir="auto">Затем мы вызываем функцию <code>changeAgeAndName</code>, однако мы не передаем параметр. Вместо этого значение <code>x</code> равно новому объекту: <code>{ ... person }</code>. Поскольку это новый объект, он не влияет на значения свойств объекта <code>person</code>. <code>person</code> по-прежнему равен <code>{name: "John", age: 26}</code>.</p>
<p><strong>Ответ: <code>{name: "John", age: 26}</code>.</strong></p>
<p dir="auto">Функции <code>changeAge</code> и <code>changeAgeAndName</code> имеют параметр по умолчанию, а именно <em>вновь</em> созданный объект <code>{ ...person }</code>. Этот объект имеет копии всех ключей/значений объекта <code>person</code>.</p>
<p dir="auto">Сначала мы вызываем функцию <code>changeAge</code> и передаем объект <code>person</code> в качестве аргумента. Эта функция увеличивает значение свойства <code>age</code> на 1. <code>person</code> теперь <code>{name: "John", age: 26}</code>.</p>
<p dir="auto">Затем мы вызываем функцию <code>changeAgeAndName</code>, однако мы не передаем параметр. Вместо этого значение <code>x</code> равно новому объекту: <code>{ ... person }</code>. Поскольку это новый объект, он не влияет на значения свойств объекта <code>person</code>. <code>person</code> по-прежнему равен <code>{name: "John", age: 26}</code>.</p>
Ниже представлено пояснение.
Ответ: {name: "John", age: 26}
.
Функции changeAge
и changeAgeAndName
имеют параметр по умолчанию, а именно вновь созданный объект { ...person }
. Этот объект имеет копии всех ключей/значений объекта person
.
Сначала мы вызываем функцию changeAge
и передаем объект person
в качестве аргумента. Эта функция увеличивает значение свойства age
на 1. person
теперь {name: "John", age: 26}
.
Затем мы вызываем функцию changeAgeAndName
, однако мы не передаем параметр. Вместо этого значение x
равно новому объекту: { ... person }
. Поскольку это новый объект, он не влияет на значения свойств объекта person
. person
по-прежнему равен {name: "John", age: 26}
.