- Learn React with TypeScript 3
- Carl Rippon
- 232字
- 2021-06-10 19:16:36
Property setters and getters
Our classes so far have had simple property declarations. However, for more complex scenarios, we can implement a property with a getter and a setter. When implementing getters and setters, generally, you'll need a private property to hold the property value:
- getter is a function with the property name and the get keyword at the beginning and no parameters. Generally, this will return the value of the associated private property.
- setter is a function with the same name with the set keyword at the beginning and a single parameter for the value. This will set the value of the associated private property.
- The private property is commonly named the same as the getter and setter with an underscore in front.
Let's take a look at an example:
- Let's create getters and setters for the unitPrice property in our Product class. The setter ensures the value is not less than 0. The getter ensures null or undefined is never returned:
class Product {
name: string;
private _unitPrice: number;
get unitPrice(): number {
return this._unitPrice || 0;
}
set unitPrice(value: number) {
if (value < 0) {
value = 0;
}
this._unitPrice = value;
}
}
- Let's consume the Product class and try this out:
const table = new Product();
table.name = "Table";
console.log(table.unitPrice);
table.unitPrice = -10;
console.log(table.unitPrice);
If we run this, we should see two 0's in the console.
推薦閱讀
- JavaScript從入門到精通(微視頻精編版)
- Java程序設計與開發
- JavaScript:Functional Programming for JavaScript Developers
- Mastering Natural Language Processing with Python
- Java 11 Cookbook
- ASP.NET 3.5程序設計與項目實踐
- HTML5+CSS3 Web前端開發技術(第2版)
- 51單片機C語言開發教程
- Anaconda數據科學實戰
- 啊哈C語言!:邏輯的挑戰(修訂版)
- INSTANT PLC Programming with RSLogix 5000
- WCF編程(第2版)
- 編程風格:程序設計與系統構建的藝術(原書第2版)
- Visual Basic.NET程序設計
- Access 2010數據庫教程(微課版)