typeScript 數據類型 基礎知識總結

typeScript 數據類型 基礎知識總結

  • 1、vscode配置自動編譯
    • 1、第一步 tsc --init 生成tsconfig.json 改 “outDir”: “./js”,
    • 2、第二步 任務 - 運行任務 監視tsconfig.json
  • 2、typeScript中的數據類型
    typescript中爲了使編寫的代碼更規範,更有利於維護,增加了類型校驗,在typescript中主要給我們提供了 以下數據類型:
    布爾類型(boolean)
    數字類型(number)
    字符串類型(string)
    數組類型(array)
    元組類型(tuple)
    枚舉類型(enum)
    任意類型(any)
    null 和 undefined
    void類型
    never類型
布爾類型(boolean)

es5的寫法 (正確寫法) ts中(錯誤寫法)

var flag=true;
flag=456;

typescript中爲了使編寫的代碼更規範,更有利於維護,增加了類型校驗
寫ts代碼必須指定類型

var flag:boolean=true;
// flag=123;  //錯誤
flag=false;  //正確
console.log(flag);
數字類型(number)
        var num:number=123;
        num=456;
        console.log(num);  /正確/
        num='str';    //錯誤
字符串類型(string)
var str:string='this is ts';
str='haha';  //正確
str=true;  //錯誤
數組類型(array)
ts中定義數組有兩種方式
  • es5定義數組
var arr=['1','2'];  //es5定義數組
  • 第一種定義數組的方式
var arr:number[]=[11,22,33];
console.log(arr);
  • 第二種定義數組的方式
var arr2:Array<number>=[11,22,33];
console.log(arr2)
  • 第三種
var arr3:any[]=['131214',22,true];
console.log(arr3);
元組類型(tuple) 屬於數組的一種
// var arr:Array<number>=[11,22,33];
// console.log(arr)

//元祖類型
// let arr:[number,string]=[123,'this is ts'];
// console.log(arr);
枚舉類型(enum)
  • 隨着計算機的不斷普及,程序不僅只用於數值計算,還更廣泛地用於處理非數值的數據。
    例如:性別、月份、星期幾、顏色、單位名、學歷、職業等,都不是數值數據。
    在其它程序設計語言中,一般用一個數值來代表某一狀態,這種處理方法不直觀,易讀性差。
    如果能在程序中用自然語言中有相應含義的單詞來代表某一狀態,則程序就很容易閱讀和理解。
    也就是說,事先考慮到某一變量可能取的值,儘量用自然語言中含義清楚的單詞來表示它的每一個值,
    這種方法稱爲枚舉方法,用這種方法定義的類型稱枚舉類型。
	enum 枚舉名{ 
	    標識符[=整型常數], 
	    標識符[=整型常數], 
	    ... 
	    標識符[=整型常數], 
	} ;     
enum Flag {success=1,error=2};
let s:Flag=Flag.success;
console.log(s);
enum Flag {success=1,error=2};
let f:Flag=Flag.error;
console.log(f);

000010
-1
-2

// 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
enum Err {'undefined'=-1,'null'=-2,'success'=1};
var e:Err=Err.success;
console.log(e);
任意類型(any)
// var num:any=123;

// num='str';

// num=true;

// console.log(num)
任意類型的用處
var oBox:any=document.getElementById('box');

oBox.style.color='red';

// null 和 undefined  其他(never類型)數據類型的子類型

// var num:number;

// console.log(num)  //輸出:undefined   報錯

// var num:undefined;

// console.log(num)  //輸出:undefined  //正確

// var num:number | undefined;

// num=123;

// console.log(num);

//定義沒有賦值就是undefined
// var num:number | undefined;

// console.log(num);

// var num:null;

// num=null;

//一個元素可能是 number類型 可能是null 可能是undefined

var num:number | null | undefined;

num=1234;

console.log(num)

// void類型 :typescript中的void表示沒有任何類型,一般用於定義方法的時候方法沒有返回值。

//es5的定義方法
// function run(){
//     console.log('run')
// }
// run();
//表示方法沒有返回任何類型
/* 
//正確寫法
function run():void{
  console.log('run')
}

 run();
    
 */


 //錯誤寫法
 /*
     function run():undefined{
         console.log('run')
     }
     run();
 */
//正確寫法
 /*
 function run():number{

     return 123;
  }

  run();
 */

// never類型:是其他類型 (包括 null 和 undefined)的子類型,代表從不會出現的值。
//這意味着聲明never的變量只能被never類型所賦值。
/*
var a:undefined;
a=undefined;
var b:null;
b=null;
*/
var a:never;
//    a=123; //錯誤的寫法
a=(()=>{
    throw new Error('錯誤');
})()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章