TypeScript筆記(一)

TypeScript 是 JavaScript 的一個超集,主要提供了 類型系統 和對 ES6 的支持,由 Microsoft 開發。
應用:vue3.0,angular2.0
    1編譯型語言:編譯爲 js 後運行,單獨無法運行;2 強類型語言;3面向對象的語言;

優勢
    類型系統實際上是最好的文檔,大部分的函數看看類型的定義就可以知道如何使用;
    可以在編譯階段就發現大部分錯誤,這總比在運行時候出錯好;
    增強了編輯器和 IDE 的功能,包括代碼補全、接口提示、跳轉到定義、重構等;
   TypeSctipt增加了代碼的可讀性和可維護性。

首先需要安裝npm環境,然後是安裝TypeScript

npm install -g typescript

檢測是否成功:

$ tsc -v
Version 3.7.2

通常我們使用 .ts 作爲 TypeScript 代碼文件的擴展名。
 執行以下命令將 TypeScript 轉換爲 JavaScript 代碼:
 tsc test.ts
 新建test.ts 內容爲:

 var message = "Hello World";
 console.log(message);

 使用 node 命令來執行 test.js 文件:
 $ node test.js 
 Hello World

 TypeScript 支持兩種類型的註釋
 單行註釋 ( // ) − 在 // 後面的文字都是註釋內容。
 多行註釋 (/* */) − 這種註釋可以跨越多行。

typeScript 程序由以下幾個部分組成:1 模塊 2 函數 3 變量 4 語句和表達式 5 註釋

基礎類型: 1 任意類型    any    聲明爲 any 的變量可以賦予任意類型的值。 2 數字類型    number    
雙精度 64 位浮點值。它可以用來表示整數和分數。 3 字符串類型    string    一個字符系列,使用單引號(')或雙引號(")來
表示字符串類型。反引號(`)來定義多行文本和內嵌表達式.let years: number = 5;
 3 布爾類型    boolean    表示邏輯值:true 和 false。 let flag: boolean = true;
 4  數組類型    無    聲明變量爲數組。 如: let arr: Array<number> = [1, 2];或 let arr: number[] = [1, 2];
 5 元組:元組類型用來表示已知元素數量和類型的數組,各元素的類型不必相同,對應位置的類型需要相同。
 6 void    void    用於標識方法返回值的類型,表示該方法沒有返回值。7 null    null    表示對象值缺失。
 8 undefined    undefined    用於初始化變量爲一個未定義的值
 9 never    never    never 是其它類型(包括 null 和 undefined)的子類型,代表從不會出現的值。如:
 // 返回never的函數必須存在無法達到的終點
function error(message: string): never {
    throw new Error(message);
}

類型推斷
 當類型沒有給出時,TypeScript 編譯器利用類型推斷來推斷類型。
 如果由於缺乏聲明而不能推斷出類型,那麼它的類型被視作默認的動態 any 類型。

var num = 2;    // 類型推斷爲 number
console.log("num 變量的值爲 "+num); 
num = "12";    // 編譯錯誤
console.log(num);

變量作用域
變量作用域指定了變量定義的位置。
程序中變量的可用性由變量作用域決定。
TypeScript 有以下幾種作用域:
全局作用域 − 全局變量定義在程序結構的外部,它可以在你代碼的任何位置使用。
類作用域 − 這個變量也可以稱爲 字段。類變量聲明在一個類裏頭,但在類的方法外面。 該變量可以通過類的對象來訪問。類變量也可以是靜態的,靜態的變量可以通過類名直接訪問。
局部作用域 − 局部變量,局部變量只能在聲明它的一個代碼塊(如:方法)中使用。

var global_num = 12          // 全局變量
class Numbers { 
   num_val = 13;             // 實例變量
   static sval = 10;         // 靜態變量
   
   storeNum():void { 
      var local_num = 14;    // 局部變量
   } 
} 
console.log("全局變量爲: "+global_num)  
console.log(Numbers.sval)   // 靜態變量
var obj = new Numbers(); 
console.log("實例變量: "+obj.num_val)

輸出:
全局變量爲: 12
10
實例變量: 13

運算符:

var a:number = 12
var b:number =10
a = b
console.log("a=b:"+a)
a += b
console.log("a+=b: "+a);

a -=b
console.log("a-=b:"+a);

a*= b
console.log("a*=b:"+a);

a /= b
console.log("a/=b : "+a)

a %= b
console.log("a%=b: "+a)


a=b:10
a+=b: 20
a-=b:10
a*=b:100
a/=b : 10
a%=b: 0

條件語句:

var num:number = 12;
if(num % 2 == 0){
	console.log("偶數");
} else {
	console.log("奇數");
}

輸出:
偶數
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章