1.基本数据类型
这个是最常用的数据类型,一般是校验
export default{}
//基本数据类型
//数值类型
let num:number;
num =100;
num =3.14
//16进制
num = 0x00
console.log(num);
//布尔类型
let flan:boolean;
flan=true
flan=false
//字符串类型
let as:string;
as="张三"
2.数组
声明变量的一组数组叫集合
//数组类型
//方法1
//表示定义了一个名称叫做beautyList 的数组,这个数组中将来只能够存储字符串类型的数据
let beautyList:string[];
beautyList=['李嘉欣','王祖贤','邱淑贞']
//arr= ['李嘉欣','王祖贤','邱淑贞',200000];//报错
console.log(beautyList);
//方法2
//表示定义了一个名称叫做 moneyList 的数组,这个数组中将来只能够存储数值类型的数据
let moneyList:Array<number> ;
moneyList = [10,30,500];
// moneyList = [ 'a', 30,500];//报错
console.log(moneyList);
//方法3
//表示定义了一个名称叫做dream 的数组,这个数组中将来既可以存储数值类型的数据,也可以存储字符串类型的数据
let dream : (number | string)[];
dream = [10,30,500,"李一桐","赵露思","白鹿"];
//dream = [10,3,500,"李一桐","赵露思","白鹿",fa1se];//报错
console.log(dream)
3元组·元祖类型Tuple
1.TS中的元祖类型其实就是数组类型的扩展
2.元组类型用来表示已知元素数量和类型的数组
3.各元素的类型不必相同,对应位置的类型需要相同
export default {}
//元组类型
let tup1: [string, boolean , number]
tup1=["关晓彤",true,18]
// tup1-[ 18,"关晓彤"",true]
// tup1-[“关晓彤"",true,18,"毛晓彤"]
console.log(tup1);
4 any与void
1.any:表示任意类型,当我们不清楚某个值的具体类型的时候我们就可以使用any
2.void:当一个函数没有返回值时,你通常会见到其返回值类型是void
3."strict": true, 是严格模式
export default {}
// any类型
//any表示任意类型,当我们不清楚某个值的具体类型的时候我们就可以使用any
//在TS中任何数据类型的值都可以负责给any类型
//使用场景一
//变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些变量跳过编译阶段的类型检查
let salary: any = 1800;//数字类型
salary =false//布尔
//使用场景二
//改写现有代码时,任意值允许在编译时可选择地包含或移除类型检查
let x: any = 4;
x.ifItExists()//正确,ifItExists方法在运行时可能存在,但这里并不会检查
x.toFixed()//正确
//使用场景三
//定义存储各种类型数据的数组时
let beautyList: any[]=[1,false,'fine'];
beautyList[1] = 100;
// void类型
//某种程度上来说,void类型像是与any类型相反,它表示没有任何类型。
//当一个函数没有返回值时,你通常会见到其返回值类型是void
//在TS中只有nu11和undefined可以赋值给void套型
function makeMoney(): void {
console.log("I want to make much money and marry a wife! ! !");
// return "100K beauty""//报错
}
makeMoney()
let value: void;
//定义了一个不可以保存任意类型数据的变量,只能保存nu11和undefined
// value = 100;//报错
// value ="杨紫";//报错
// value = true; //报错
//注意点:nu11和undefined是所有类型的子类型,所以我们可以将nu11和undefined赋值给任意类型
//严格模式下会nu11报错
// value = nu11;//不会报错
value = undefined ; //不会报错
6 never与object
never类型:
表示的是那些永不存在的值的类型;
never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型;变量也可能是never类型,当它们被永不为真的类型保护所约束
object类型:
object表示非原始类型,也就是除number,string,boolean,s ymbo1,nu11或undefined之外的类型定义了一个只能保存对象的变量
我们后面更常用的是|接口]与类型别名
返回never的函数必须存在无法达到的终点
function error(message:string):never{
throw new Error (message);
}
error("鞠婧祎")
推断的返回值类型为never
function fai1(){
return error ("something failed");
}
fai1()
返回never的函数必须存在无法达到的终点
function infiniteLoop():never{
while(true){
}
}
infiniteLoop()
object类型
表示一个对象
定义了一个只能保存对象的变量
let goddess:object
goddess = 1;
goddess = "123";
goddess = true;
goddess = {name : "白鹿", age : 27};
console.log(goddess)