说明
尚硅谷TypeScript教程(李立超老师TS新课)学习笔记。
类型声明
- 类型声明是TS非常重要的一个特点
- 通过类型声明可以指定TS中变量(参数、形参)的类型
- 指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
- 简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值
语法:
let 变量:类型;
let 变量:类型 = 值;
function fn(参数:类型,参数:类型):类型{
}
自动类型判断
- TS拥有自动的类型判断机制
- 当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型
- 所以如果你的变量的声明和赋值时同时进行的,可以省略掉类型声明
例子
新建 02.basis.ts
文件
// 声明一个变量a,同时指定它的类型为number
let a: number;
// a的类型设置为了number, 在以后的使用过程中a的值只能是数字
a = 10;
a = 33;
a = 'hello'; // 此行代码会报错,因为变量a的类型是number, 不能赋值字符明
let b: string;
b = 'hello';
b = 123; // 不能将类型“number”分配给类型“string”。
// 声明完变量直接进行赋值
// let c: boolean = false;
// 如果变量的声明和赋值是同时进行的,TS 可以自动对变量进行类型检测
let c = false;
c = true;
c = '111'; // 不能将类型“string”分配给类型“boolean”。
// JS 中的两数是不考虑参数的类型和个数的
// function sum(a, b){
// return a + b;
// }
// console.log(sum(123, 456)); // 579
// console. log(sum(123, "456")); // "123456"
// 参数以及返回值需要时数字
function sum(a: number, b: number): number{
return a + b;
}
console.log(sum(123, 456)); // 579
console. log(sum(123, "456")); // "123456" 类型“string”的参数不能赋给类型“number”的参数。
执行 tsc
tsc 02.basis.ts