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

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.

主站蜘蛛池模板: 安多县| 贵溪市| 龙泉市| 庆元县| 济源市| 塘沽区| 大竹县| 万全县| 宁夏| 杭锦后旗| 德清县| 会宁县| 惠安县| 布尔津县| 长顺县| 金川县| 高邑县| 怀仁县| 响水县| 西林县| 荥经县| 双柏县| 左云县| 荃湾区| 克拉玛依市| 双辽市| 丽江市| 扎囊县| 德格县| 大新县| 秭归县| 云和县| 读书| 卢氏县| 建德市| 汉阴县| 攀枝花市| 萍乡市| 宿松县| 平武县| 磐石市|