官术网_书友最值得收藏!

Creating interfaces, types aliases, and classes

In the Understanding basic types section, we introduced ourselves to objects, which are types that can have their own properties. Interfaces, type aliases, and classes are ways that we can define an object structure before we start using it.

Following here is the customer object we worked with, where we declared the customer variable with an initial object value:

const customer = {
name: "Lamps Ltd",
turnover: 2000134,
active: true
};
  1. Let's try to declare the customer variable and set its value on a subsequent line:
let customer: object;
customer = {
name: "Lamps Ltd",
turnover: 2000134,
active: true
};
  1. So far, so good. However, let's see what happens when we try to change the customers turnover value:
customer.turnover = 2000200;
  1. The lack of IntelliSense when we type turnover isn't what we are used to. When we've finished typing the line, we get a compiler error:

The TypeScript compiler doesn't know about the properties in the customer object and so thinks there's a problem.

So, we need another way of defining an object structure with the ability to set property values later in the program. That's where interfaces, type aliases, and classes come in; they let us define the structure of an object by letting us define our own types.

主站蜘蛛池模板: 遂宁市| 康乐县| 新民市| 尉犁县| 平乐县| 揭西县| 三明市| 阿鲁科尔沁旗| 江西省| 曲沃县| 东城区| 兴山县| 东城区| 新昌县| 荔浦县| 阿荣旗| 三穗县| 沭阳县| 双桥区| 永靖县| 巴彦淖尔市| 攀枝花市| 福州市| 丰都县| 诏安县| 冷水江市| 宁晋县| 谷城县| 民勤县| 西丰县| 建德市| 萝北县| 永和县| 吉安市| 扶沟县| 龙里县| 寿光市| 江门市| 安福县| 平远县| 博白县|