What does get mean in this ES6 class? How do I reference this function? How should I use it?
class Polygon {
constructor(height, width) {
or more simple way it just call the function without needing to user "()" just by typing the function name
the two above function are equal attention to person.fullName() and person.fullName
const person = {
firstName: 'Willem',
lastName: 'Veen',
fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName());
const person = {
firstName: 'Willem',
lastName: 'Veen',
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName);
The get keyword will bind an object property to a function. When this property is looked up now the getter function is called. The return value of the getter function then determines which property is returned.
const person = {
firstName: 'Willem',
lastName: 'Veen',
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
console.log(person.fullName);
// When the fullname property gets looked up
// the getter function gets executed and its
// returned value will be the value of fullname
It is getter, same as Objects and Classes in OO JavaScript. From the MDN Docs for get:
The
getsyntax binds an object property to a function that will be called when that property is looked up.
It means the function is a getter for a property.
To use it, just use it's name as you would any other property:
'use strict'
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
get area() {
return this.calcArea()
}
calcArea() {
return this.height * this.width;
}
}
var p = new Polygon(10, 20);
alert(p.area);