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

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.

主站蜘蛛池模板: 滁州市| 洛隆县| 资中县| 监利县| 开鲁县| 西丰县| 阳新县| 元阳县| 甘孜| 平南县| 榆中县| 梅河口市| 天气| 仪陇县| 新营市| 抚松县| 遂昌县| 庆云县| 五莲县| 贵德县| 留坝县| 景东| 阜宁县| 土默特左旗| 建宁县| 大连市| 时尚| 工布江达县| 崇左市| 济源市| 酒泉市| 松潘县| 南通市| 新源县| 瑞昌市| 金阳县| 景德镇市| 广德县| 宁夏| 历史| 和硕县|