let num1 : number = 20; let num2 : number = 175.5; let a3 : number = NaN; let nu : null = null; let boo : boolean = true; let arr1: number[] = [1,2]; let arr2: Array<string> = ['a','b']; let arr3: Array<string | number> = ['1',2]; let tup: [string, number] = ['2',2]; //枚举类型(enum) enum REN { // nan = 1 -----> 初始化下标 f,s,t } console.log(REN.f) console.log(REN.s) console.log(REN.t) console.log(REN[2]) //void 表示没有返回值,一般用来定义方法没有返回值 function f1() : void { console.log('void 类型') } //any 类型 let an: any = "any 类型"; console.log(an);//any 类型 //never 用于描述总抛出错误的函数 function f2(msg: string): never { throw new Error(msg); } //日期类型 let da: Date = new Date(); console.log(da); //正则表达式类型 let reg1 : RegExp = /\{\{(.*?)\}\}/g; console.log(reg1);
var uname:string = "Runoob"; var score1:number = 50; var score2:number = 42.50 var sum = score1 + score2 console.log("名字: "+uname) console.log("第一个科目成绩: "+score1) console.log("第二个科目成绩: "+score2) console.log("总成绩: "+sum)
注意:变量不要使用 name 否则会与 DOM 中的全局 window 对象下的 name 属性出现了重名。
使用 tsc 命令编译以上代码,得到如下 JavaScript 代码:
var uname = "Runoob"; var score1 = 50; var score2 = 42.50; var sum = score1 + score2; console.log("名字: " + uname); console.log("第一个科目成绩: " + score1); console.log("第二个科目成绩: " + score2); console.log("总成绩: " + sum);
执行该 JavaScript 代码输出结果为:
名字: Runoob 第一个科目成绩: 50 第二个科目成绩: 42.5 总成绩: 92.5
TypeScript 遵循强类型,如果将不同的类型赋值给变量会编译错误,如下实例:
var num:number = "hello" // 这个代码会编译错误
类型推断
当类型没有给出时,TypeScript 编译器利用类型推断来推断类型。
如果由于缺乏声明而不能推断出类型,那么它的类型被视作默认的动态 any 类型。
var num = 2; // 类型推断为 number console.log("num 变量的值为 "+num); num = "12"; // 编译错误 console.log(num);
人生很漫长,或许我只是你人生中微不足道的一小段,只是你人生中的惊鸿一瞥。
浙公网安备 33010602011771号