TypeScript特性
现在,从TypeScript代码生成JavaScript已经被去神秘化了,它的一些功能可以被描述和实验。
- 类型
- 接口
- 形状
- 装饰
类型
许多人没有意识到这一点,但JavaScript的确实实际上有类型的,他们只是“鸭子类型”,这大概意味着程序员不必去想它们。TypeScript中也存在JavaScript的类型:
- boolean (真假)
- number整数,浮点数,Infinity和NaN
- string 字符和字符串
- []其他类型的数组,如number[]或boolean[]
- {} 对象字面量
- undefined 没有设置
TypeScript添加
- enum 枚举类 { Red, Blue, Green }
- any 使用任何类型
- void
原始类型示例:
```
let isDone: boolean = false;
let height: number = 6;
let name: string = "bob";
let list: number[] = [1, 2, 3];
let list: Array
= [1, 2, 3]; enum Color {Red, Green, Blue}; let c: Color = Color.Green; let notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean
function showMessage(data: string): void { alert(data); } showMessage('hello');
这说明在TypeScript的基本类型,并表示结束`showMessage`的功能。在这个函数中的参数有时被检查特定类型的`tsc`运行。
在许多JavaScript函数中,函数采用可选参数是很常见的。TypeScript为此提供支持,如下所示:
function logMessage(message: string, isDebug?: boolean) {
if (isDebug) {
console.log('Debug: ' + message);
} else {
console.log(message);
}
}
logMessage('hi'); // 'hi'
logMessage('test', true); // 'Debug: test'
``
使用
?让
tsc知道
isDebug`是一个可选参数。 tsc 如果不会抱怨isDebug被省略。