TypeScript Accessors - Getters and Setters Example

This tutorial shows how to create getters/setters methods in TypeScript with an example.

Accessors - getters/setters

TypeScript supports getters/setters as a way of intercepting accesses to a member of an object. This gives you a way of having finer-grained control over how a member is accessed on each object.
Let’s convert a simple class to use get and set.
class Employee {
    private _id: number;
    private _fullName: string;

    public get id(): number {
        return this._id;
    }
    public set id(value: number) {
        this._id = value;
    }

    public get fullName(): string {
        return this._fullName;
    }
    public set fullName(value: string) {
        this._fullName = value;
    }
}

// create Employee class object
let employee = new Employee();
employee.id = 200;
employee.fullName = 'Ramesh Fadatare';
console.log(employee);
console.log(employee.fullName);
Output:
Employee { _id: 200, _fullName: 'Ramesh Fadatare' }
Ramesh Fadatare
Note: To run or execute source code examples of this tutorial, follow How to Run the TypeScript Code guide.
The TypeScript compiler will convert the above class to the following JavaScript code using closure:
var Employee = /** @class */ (function () {
    function Employee() {
    }
    Object.defineProperty(Employee.prototype, "id", {
        get: function () {
            return this._id;
        },
        set: function (value) {
            this._id = value;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(Employee.prototype, "fullName", {
        get: function () {
            return this._fullName;
        },
        set: function (value) {
            this._fullName = value;
        },
        enumerable: true,
        configurable: true
    });
    return Employee;
}());
// create Employee class object
var employee = new Employee();
employee.id = 200;
employee.fullName = 'Ramesh Fadatare';
console.log(employee);
console.log(employee.fullName);
Learn more about TypeScript at TypeScript Tutorial with Examples.


Comments