1.基础数据类型
Boolean布尔值 Number数字 String字符串 Array数组 Tuple元组 Enum枚举 Any void
Boolean布尔值:true/false eg:var isDone: boolean = false;
Number数字:
eg:
var decLiteral: number = 6; var hexLiteral: number = 0x9837abdef; var binaryLiteral: number = 0b0010; var octalLiteral: number = 0o74563;
String字符串
eg:
var name: string = "bob"; name = 'smith';
也可以使用 模板字符串,他能支持多行文本和内嵌表达式。这些字符串使用单引号(`
)包围,并且嵌入的表达式使用${ expr }
这样的形式表示。
var name:string = "Gene";
var age: number = 37;
var sentence: string='Hello,my name is ${name}.I will be ${$age +1} years old next month.'
上面的表达式相当于下面的声明方式:
var sentence:strring = "Hello ,my name is " +name + ". " + " I will be " + (age +1) +" years old next month."
Array数组
两种写法:
1.数组元素后面添加[],来表示这是一个该类型的数组:
var list: number[] = [1,2,3];
2.通用数组类型表示,Array<数组元素类型>
var list: Array<number> = [1,2,3];
Tuple元组:
元组数据类型允许表达固定数量的已知类型集合,但是这些类型不必是相同的。
eg: var x: [string,number]; //声明一个元组类型
x = ["hello",10]; //初始化
使用数字检索一个已知元素: console.log(x[0].substr(1));
档访问超过边界时,将使用联合类型处理:
x[3] = "world";
console.log(x[5].toString());
Enum枚举
enum Color {Red,Green,Blue};
var c: Color = Color.Green;
枚举类型可以直接用数值来查找其对应的枚举元素的名称。
enum Color {Red = 1,Green,Blue};
var colorName:string = Color[2];
alert(colorName);
Any
当我们编写应用时,我们可能会需要描述一些类型不明确的变量。因为这些变量的值可能来源于一些动态的内容,如用户或第三方提供的库。在这种情况下,我们需要略过对这些变量进行的类型检查,让它们直接通过编译时的检查。为了实现这一目的,我们可以把它们标识为'any'类型
var notSure:any = 4;
notSure = "maybe a string instead";
notSure = false;
var notSure: any = 4; notSure.ifItExists(); // 没问题,在运行时有可能有 ifItExists 这个方法 notSure.toFixed(); // 没问题,toFixed 是真实存在的方法 (但是编译器不会验证准确性) var prettySure: Object = 4; prettySure.toFixed(); // 错误,不行就是不行了,使用any吧
var list:any[] = [1,true,"free"];
list[1] = 100;
void
function warnUser():void{
alert("This is my warning message")
}
不建议声明一个变量是 void
类型,因为这个变量就只能赋值undefined
或 null
。
var unusable: void = undefined;