标签导航:

如何在freecodecamp中正确创建包含setter和getter方法的人员对象?

FreeCodeCamp人员对象创建指南

在FreeCodeCamp的JavaScript挑战中,创建一个包含个人信息(如姓名、联系方式等)的人员对象。本指南将指导您如何使用构造函数和getter/setter方法正确构建此对象。

为了满足挑战要求,我们需要:

  1. 使用私有变量: 定义私有变量来存储对象的属性,例如_firstName和_lastName,以避免直接访问和修改属性值。

  2. 实现getter和setter方法: 创建getter方法(例如getFirstName()、getLastName()、getFullName())来获取属性值,以及setter方法(例如setFirstName()、setLastName()、setFullName())来设置属性值。这些方法应该访问和修改私有变量。

  3. 更新setFullName方法: 确保setFullName方法同时更新_firstName和_lastName。

以下代码演示了如何正确创建人员对象:

const Person = function(firstName, lastName) {
    let _firstName = firstName;
    let _lastName = lastName;

    this.getFirstName = function() {
        return _firstName;
    };
    this.getLastName = function() {
        return _lastName;
    };
    this.getFullName = function() {
        return _firstName + ' ' + _lastName;
    };
    this.setFirstName = function(firstName) {
        _firstName = firstName;
    };
    this.setLastName = function(lastName) {
        _lastName = lastName;
    };
    this.setFullName = function(firstName, lastName) {
        _firstName = firstName;
        _lastName = lastName;
    };
};

const person = new Person('John', 'Doe');
person.setFullName('Jane', 'Smith');
console.log(person.getFullName()); // 输出: Jane Smith

此代码通过私有变量和getter/setter方法,确保了对人员对象属性的访问和修改的安全性与可控性,符合FreeCodeCamp的挑战要求。