- Angular UI Development with PrimeNG
- Sudheer Jonna Oleg Varaksin
- 224字
- 2021-07-15 17:32:55
Union types and type aliases
A union type describes a value that can be one of many types. The vertical bar | is used as separator for each type the value can have. For instance, number | string is the type of a value that can be a number or string. For such values, we can only access members that are common to all types in the union. The following code works because the length property exists on both strings and arrays:
var value: string | string[] = 'some';
let length = value.length;
The next code snippet gives an error because the model property does not exist on the Bike type:
interface Bike {
gears: number;
}
interface Car {
gears: number;
model: string;
}
var transport: Bike | Car = {gears: 1};
transport.model = "Audi"; // compiler error
Type alias is used as alternative name for the existing type or combination of types. It doesn't create a new type. A type alias begins with the type keyword.
type PrimitiveArray = Array<string|number|boolean>;
type Callback = () => number;
type PrimitiveArrayOrCallback = PrimitiveArray | Callback;
Type aliases can be used for better code readability, for example, in the function parameter list.
function doSomething(n: PrimitiveArrayOrCallback): number {
...
}
Type aliases can also be generic and make tricky types, which can not be made with interfaces.
- Puppet 4 Essentials(Second Edition)
- Moodle Administration Essentials
- 看透JavaScript:原理、方法與實踐
- Podman實戰
- Bootstrap 4:Responsive Web Design
- PySide GUI Application Development(Second Edition)
- Integrating Facebook iOS SDK with Your Application
- Java系統化項目開發教程
- JavaCAPS基礎、應用與案例
- jQuery炫酷應用實例集錦
- 從零開始學Linux編程
- 區塊鏈國產化實踐指南:基于Fabric 2.0
- RocketMQ實戰與原理解析
- 多媒體技術及應用
- Clojure High Performance Programming(Second Edition)