TypeScript的数据类型

typeScript中为了是编写的代码更规范,更有利于维护,增加了类型校验(在声明时注明了数据的类型,再重新赋值时如果类型不一致会报错)

为了使代码更加规范,利于维护,所以我们在声明变量的时候在后面要声明该变量的数据类型,如果赋值为number类型,重新赋值为string类型的值时会报错。

布尔类型(boolean)
		var flag1:boolean=true;
		//var(关键字)  flag1(变量名):boolean(数据类型)=true;(值)
		var flag2:boolean=false;
		// flag1=123  在这里重新赋值时,因为类型校验的原因,声明的为boolean类型,现在赋值number类型数据报错
		console.log(flag1) //true
		console.log(flag2) //false
	***看了上面一个,后面的大家都应该明白了,后面的声明变量时都会有数据类型验证,所后面因为数据类型错误的就不再讲了。***
数字类型(number)
		var a:number=123;
		console.log(a);// 123
		a=12.3
		console.log(a);//12.3 支持浮点类型 
字符串类型(string)
		var str:string="this id ts";
		console.log(str);//this id ts
		str="你好ts";
		console.log(str);//你好ts
数组类型(array): ts中定义数组有种方式
		//1.第一种定义数组的方式
		var arr1:number[]=[1,58,84,8,5,7,5];
		var arr2:string[]=["php","js","java","c++"];
		var arr3:any[]=["str",123,true];
		console.log(arr1) //[1, 58, 84, 8, 5, 7, 5] 注明数据类型为number[],所以每一项都必须是number类型,不然报错
		console.log(arr2) //["php","js","java","c++"] 注明数据类型为string[],所以每一项都必须是string类型,不然报错
		console.log(arr3) //["str",123,true];注明数据类型为string[](任意类型),所以每一项都可以是任意类型。
		
		//2.第二种定义数组的方式
		var arr4:Array<number>=[1,8,6,8];
		var arr5:Array<string>=["php","js","java","c++"];
		var arr6:Array<any>=["str",123,true];
		console.log(arr4) //[1,8,6,8] 注明数据类型为number[],所以每一项都必须是number类型,不然报错
		console.log(arr5) //["php","js","java","c++"] 注明数据类型为string[],所以每一项都必须是string类型,不然报错
		console.log(arr6) //["str",123,true];注明数据类型为string[](任意类型),所以每一项都可以是任意类型。
		
元祖类型(tuple) : 其实说他是数组类型也不为过,只不过需要指定每一位的数据类型
		var arr:[string,number,boolean]=["ts",3.18,true]
		// var arr(变量名):[string(字符串),number(数字),boolean(布尔)]=["ts",3.18,true]
		console.log(arr)//["ts", 3.18, true]  每一位的数据类型都被指定,如果该项不是指定的类型,则报错。
枚举类型(enum)

概念:随着计算机的不断普及,程序不仅用于数值计算,还有更广泛的用于处理非数值的数据,例如性别,月份,星期几,颜色,单位名,学历,职业等,都不是数值数据。在其它程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差,如果能在程序中用自然语言中有相应含义的单词来代表某一状态,策程序就很容易阅读和理解。也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清除的单词来表示它的每一个值,这种方法定义的类型成为枚举类型。

		//例如支付状态  1 成功 -1 失败 如果定义了枚举类型就很方便知道1、-1分别代表什么
		enum Flag {success=1,error=-1}
		var f:Flag=Flag.success
    	console.log(f)// 1 success赋值了所以打印1
    	enum Color{red,blue=5,orange}
    	var c:Color=Color.blue;
    	console.log(Color.red);//0 如果未赋值则打印下标值
    	console.log(c);//5 赋值等于5 打印赋值
    	console.log(Color.orange); // 6 如果前面有被赋值的,则按照被赋值的那个按照顺序依次排下去
    			
任意类型(any)
		var num:any=123;
		console.log(num);//123
		num="sd";
		console.log(num);//sd
		num=true;
		console.log(num);//true
		//任意类型可赋值任何类型的值,不会报错
null和undefined:其它数据类型(never类型)数据的子类型
		var num:number;
		console.log(num); //报错

		var num1:undefined;
    	console.log(num1); //undefined
    	
    	var num2:number|undefined;
    	console.log(num2);//undefined  声明一个变量为num2 但是,未赋值,打印undefined
   		num2=123;//为变量num2赋值
   		console.log(num2);//打印123
   		
   		var num3:null;
   		console.log(num3)
   		
		var num4:number | null | undefined
		console.log(num4) //undefined
		num4=123;
		console.log(num4) //123
   		
void类型:typeScript中的void表示,没有任何类型,一般用于定义方法的时候方法没有返回值。
    	//表示该方法没有任何返回值
		function run():void{
		    console.log('run')
		}
		run();
    	//表示该方法有返回值(有返回值的时候,声明返回值的类型)
		function run():number{
			return 123
		}
		run()
never类型:其他类型(包括null和undefined)的子类型,代表从不会出现的值
		a=(()=>{
			throw new Error('错误');
		})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值