33 * Array Enum
44 * Any Void
55 */
6- // Boolean Number String
7- var bool :boolean = false ;
8- var num :number = 10 ;
9- var str :string = "sunshine" ;
10-
11- // Array Enum
6+ // Boolean
7+ let isDone : boolean = false
8+ // Number
9+ let decLiteral : number = 20
10+ let hexLiteral : number = 0x14
11+ let binaryLiteral : number = 0b10100
12+ let octalLiteral : number = 0o24
13+ // String
14+ var nameStr : string = 'csxiaoyao'
15+ let sentence : string = `Hello, my name is ${ name } . I'm ${ decLiteral + 1 } years old.`
16+ // Array 两种方式
1217var list1 :number [ ] = [ 1 , 2 , 3 ] ;
1318var list2 :Array < string > = [ "csxiaoyao" , "sunshine" ] ;
1419
15- enum Color { Red , Green = 5 , Blue = 2 , Purple } ;
16- var colorName1 :string = Color [ 1 ] ; // undefined
17- var colorName2 :string = Color [ 5 ] ; // Green
18- var colorName3 :string = Color [ 2 ] ; // Blue
19- var colorName4 :string = Color [ 3 ] ; // Purple
20- var colorName5 :string = Color [ 0 ] ; // Red
21- var c1 :Color = Color . Green ; // 5
22- var c2 :Color = Color . Red // 0
23- var c3 :Color = Color . Purple // 3
24-
25- // Any Void
26- var notSure :any = 10 ;
20+ // 【 Tuple 】 元祖,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
21+ let x : [ string , number ]
22+ x = [ 'hello' , 10 ] // OK
23+
24+ // Enum
25+ enum Color { Red , Green = 5 , Blue = 2 , Purple } ;
26+ var colorName0 : string = Color [ 0 ] ; // Red
27+ var colorName1 : string = Color [ 1 ] ; // undefined
28+ var colorName2 : string = Color [ 2 ] ; // Blue
29+ var colorName3 : string = Color [ 3 ] ; // Purple
30+ var colorName5 : string = Color [ 5 ] ; // Green
31+
32+ var c1 : Color = Color . Green ; // 5
33+ var c2 : Color = Color . Red // 0
34+ var c3 : Color = Color . Purple // 3
35+
36+ // Any
37+ var notSure : any = 10 ;
2738notSure = "Hello" ;
2839notSure = false ;
29- var list :any [ ] = [ 10 , "hello" , false ] ;
40+ var list : any [ ] = [ 10 , "hello" , false ] ;
3041
31- function say ( ) :void {
42+ // Void
43+ function say ( ) : void {
3244 // body...
3345}
34- function tell ( ) :string {
46+ function tell ( ) : string {
3547 alert ( list1 [ 0 ] ) ;
3648 alert ( list2 [ 1 ] ) ;
3749 return "sunshine" ;
3850}
39- tell ( ) ;
51+ tell ( ) ;
52+
53+ // null / undefined
54+ let u : undefined = undefined
55+ let n : null = null
56+
57+ // never,返回never的函数必须存在无法达到的终点
58+ function error ( message : string ) : never {
59+ throw new Error ( message )
60+ }
61+ function infiniteLoop ( ) : never {
62+ while ( true ) {
63+ }
64+ }
65+
66+ // object
67+ // object 表示非原始类型,即除 number,string,boolean,symbol,null或undefined 之外的类型
68+ declare function create ( o : object | null ) : void
69+ create ( { prop : 0 } ) // OK
70+ create ( null ) // OK
71+
72+ // 类型断言,两种方式
73+ let someValue : any = 'this is a string'
74+ let strLength1 : number = ( < string > someValue ) . length
75+ let strLength2 : number = ( someValue as string ) . length
0 commit comments