Заполните код для функции addFullName

#javascript #function #object #methods

#javascript #функция #объект #методы

Вопрос:

Проблема с базовым объектом, которую я, кажется, не могу понять. Я уверен, что я слишком много думаю об этом. Заполните код для функции addFullName. Функция должна:

Возьмите один входной параметр, объект person. Добавьте свойство с именем FullName к объекту person при вызове. Новому свойству FullName присваивается строка ‘FirstName LastName’ (одна строка с пробелом между двумя именами). Измените переданный объект, ничего не возвращая.

 // an example `person` object
var person = {
    firstName: 'Joseph',
    lastName: 'Magnolia',
    ageInYears: 34
}

function addFullName(personObj) {
  /* your code here */
  person.fullName = personObj.firstName   ' '   personObj.lastName;
}
  

Результаты теста:

 ✗ it should set fullName property to 'Joseph Magnolia'
  Error:
    fullName does not equal 'Joseph Magnolia': expected undefined to deeply equal 'Joseph Magnolia'
✗ it should set fullName property to 'Michael Smith'
  Error:
    fullName does not equal 'Michael Smith': expected undefined to deeply equal 'Michael Smith'
  

Комментарии:

1. Разве это не должно быть personObj.FullName = personObj.FirstName ‘ ‘ personObj.LastName? Обратите внимание на Obj .

Ответ №1:

Ваш код был действительно близок к истине, вам просто нужно было использовать переменную / объект, переданный в качестве аргумента функции. Аргумент вызывается personObj и должен использоваться внутри функции для работы с любым объектом Person, переданным функции.

 // an example `person` object
var person = {
    firstName: 'Joseph',
    lastName: 'Magnolia',
    ageInYears: 34
}

function addFullName(personObj) {
  // You want to use the variable/object passed to the function
  personObj.fullName = personObj.firstName   ' '   personObj.lastName;
}

addFullName(person);
alert('Joseph Magnolia' === person.fullName);  

Улучшение ES6

Если вы используете ES6, вы могли бы использовать строки шаблона:

 function addFullName(personObj) {
  // You want to use the variable/object passed to the function
  personObj.fullName = `${personObj.firstName} ${personObj.lastName}`;
}