zoukankan      html  css  js  c++  java
  • typescript

    typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型

    布尔类型(boolean)
    数字类型(number)
    字符串类型(string)
    数组类型(array)
    元组类型(tuple)
    枚举类型(enum)
    任意类型(any)
    null 和 undefined
    void类型
    never类型

    (1)布尔类型(boolean)

    var flag=true;
    flag=456;  //es5的写法 (正确写法)  ts中(错误写法)
    
    var flag:boolean=true;
    
    // flag=123;  //错误
    
    flag=false;  //正确
    
    console.log(flag);
    

    (2)数字类型(number)

    var num:number=123;
    
            num=456;
    
            console.log(num);  /正确/
    
    
            num='str';    //错误
    

    (3)字符串类型(string)

           var str:string='this is ts';
    
            str='haha';  //正确
    
    
            str=true;  //错误
    

    (4)数组类型(array)

    // 数组类型(array)  ts中定义数组有两种方式
    
      // var arr=['1','2'];  //es5定义数组
    
    
        // 1.第一种定义数组的方式
    
            var arr:number[]=[11,22,33];
    
            console.log(arr);    
    
        //2.第二种定义数组的方式
    
            var arr:Array<number>=[11,22,33];
    
            console.log(arr)
    

    (5)元组类型(tuple)

    自定义每个数组类型

    // 元组类型(tuple)  属于数组的一种
    
         let arr:[number,string]=[123,'this is ts'];
    
        console.log(arr);
    

    (6)枚举类型(enum)

    enum 枚举名{ 
                    标识符[=整型常数], 
                    标识符[=整型常数], 
                    ... 
                    标识符[=整型常数], 
                } ;     
    

    示例:

    enum Flag {success=1,error=2};
    
    
    let s:Flag=Flag.success;
    
    console.log(s);
    
    enum Color {blue,red,'orange'};
    
    var c:Color=Color.red;
    
    console.log(c);   //1  如果标识符没有赋值 它的值就是下标
    
    enum Color {blue,red=3,'orange'};
    
    var c:Color=Color.red;
    
    console.log(c);   //3
    
    var c:Color=Color.orange;
    console.log(c);   //4
    

    (7)任意类型(any)

    // var num:any=123;
    
        // num='str';
    
        // num=true;
    
        // console.log(num)
    
    
    
        //任意类型的用处
    
    
        var oBox:any=document.getElementById('box');
    
    
        oBox.style.color='red';
    

    (8)null 和 undefined

    null 和 undefined 其他(never类型)数据类型的子类型

    var num:number;
    
     console.log(num)  //输出:undefined   报错
    
     //定义没有赋值就是undefined
     var num1:number | undefined;
    
     console.log(num1);
     
     //一个元素可能是 number类型 可能是null 可能是undefined
    
    var num2:number | null | undefined;
    
    
    num2=1234;
    console.log(num2)l
    

    (9) void类型

    typescript中的void表示没有任何类型,一般用于定义方法的时候方法没有返回值。

    function run():void{
    	console.log('run')
    }
    
    run();
                
    
    //错误写法
    /*
    	function run():undefined{
    
    		console.log('run')
    	}
    
    	run();
    */
    

    (10)never类型

    never类型:是其他类型 (包括 null 和 undefined)的子类型,代表从不会出现的值。
    这意味着声明never的变量只能被never类型所赋值。

       /*
       
        var a:undefined;
    
        a=undefined;
    
    
    
        var b:null;
    
        b=null;
    
    
       */
    
    
    
       var a:never;
    
    //    a=123; //错误的写法
        a=(()=>{
    
            throw new Error('错误');
        })()
    
  • 相关阅读:
    英语apyrite红碧玺apyrite单词
    英语SouthRedAgate南红玛瑙
    英语kutnahorite金田黄kutnahorite单词
    英语chalchite蓝绿松石chalchite单词
    单词demantoite翠榴石demantoite英语
    英语fieldyellowstone田黄石fieldyellowstone单词
    Http通讯Util
    redis分布式锁工具类
    永不重复的id生成器
    二维码生成工具类
  • 原文地址:https://www.cnblogs.com/tangge/p/10828203.html
Copyright © 2011-2022 走看看