javascript - 解构返回未定义

标签 javascript arrays destructuring

我试图将一个对象作为参数传递给一个函数,然后该函数会将对象的属性推送到一个数组,然后一个方法会将添加的值显示到控制台。它成功创建了我传递的对象实例,但属性未定义。我哪里做错了? 这是我的代码:

let myApp =(function() {
    let personProps = {
       firstName: null,
       lastName: null,
       Age: null,
    }
    let university = {
       numberOfSutdents : null,
       numberOfStaff : null,
       sections : ['Gumamela', 'St. Anne', 'St. John'],
       students : [],
       staff: []
    }

    let staff = Object.create(personProps);
    staff.hireDate = null;
    staff.rule = null;

    let faculty = Object.create(staff);
    faculty.subjectTeaching = null;
    faculty.NumberOfSectionsCovered = null;

    let student = Object.create(personProps);
    student.section = null;
    student.year = null;
    student.yeadEnrolled = null;

    // Checks if staff is a prototype of university
    let h = Object.getPrototypeOf(student) === personProps ? true : false;

    // CMDS
    let addStudent = ({_fn , _ln, _age}) => {
       let _student = [
          student.firstName = _fn,
          student.lastName = _ln,
          student.Age = _age
        ]
        university.students.push(_student)
     }

    //Query
    let getStudents = () => {
        return console.log(university.students)
      }

     return {  
        addStudent,
        getStudents
     }
})();


myApp.addStudent({fisrtName: 'marven', lastName: 'donque', Age: 22})
myApp.addStudent({fisrtName: 'john', lastName: 'tompson', Age: 23})

myApp.getStudents();


// it returns 2 instance of array, but with 3 undefined properties.

最佳答案

您的参数名称应匹配:

所以你必须将其更改为:

let addStudent = ({firstName , lastName, Age}) => {
   let _student = [
      student.firstName = firstName,
      student.lastName = lastName,
      student.Age = Age
    ]
    university.students.push(_student)
 }

打电话时:

myApp.addStudent({fisrtName: 'marven', lastName: 'donque', Age: 22});

这将完全正常工作。

关于javascript - 解构返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46916745/

相关文章:

java - 如何在java中使用重复键构造以下数据

Javascript 数组解构和 Object.entries

javascript - 使用 JavaScript/jQuery 更改 !important 属性

javascript - chrome扩展弹出窗口无法通过ID找到元素

javascript - 如何隐藏数组中的 undefined variable

reactjs - 无法引用类组件中立即解构的 props,我每次都必须使用 `this.props` 吗?

javascript - 如何有条件地解构对象?

另一个对象中的 JavaScript 对象

javascript - Facebook 如何将 Like 按钮连接到您的 FB 帐户

java - 如何正确插入排序?