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

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.

主站蜘蛛池模板: 南丰县| 阿拉善左旗| 庆阳市| 怀宁县| 宣化县| 渭南市| 策勒县| 中山市| 商河县| 渭源县| 黑山县| 哈巴河县| 冀州市| 阿巴嘎旗| 手游| 永胜县| 盐城市| 常宁市| 兴隆县| 昌乐县| 玉林市| 古浪县| 承德县| 图木舒克市| 邛崃市| 静宁县| 渝北区| 三都| 湖口县| 灵山县| 南召县| 开封县| 宿州市| 南陵县| 诸城市| 新宾| 阿图什市| 叙永县| 瑞安市| 仁化县| 霍山县|