TypeScript 基本語法

2018-12-25 18:49 更新

語法定義了一組用于編寫程序的規(guī)則。每一種語言規(guī)范定義了它自己的語法。一個TypeScript程序是由以下幾個部分組成:

  • Modules(模塊)
  • Functions(功能)
  • Variables(變量)
  • Statements 和 Expressions(語句和表達式)
  • Comments(注釋)

你的第一個TypeScript代碼

讓我們先從傳統(tǒng)的“Hello World”的例子開始:

var message:string = "Hello World" 
console.log(message)

在編譯時,它會生成以下JavaScript代碼:

//Generated by typescript 1.8.10
var message = "Hello World";
console.log(message);
  • 第1行聲明的名稱message來聲明變量。變量是一種在程序中存儲值的機制。

  • 第2行將變量的值打印到提示符。在這里,控制臺是指終端窗口。函數(shù)log ()是用來在屏幕上顯示文本。

編譯并執(zhí)行TypeScript程序

讓我們來看看如何使用Visual Studio Code編譯和執(zhí)行TypeScript程序。按照下面的步驟:

第1步 - 使用.ts擴展名保存文件。我們將文件保存為Test.ts。代碼編輯器會在您保存代碼時標記代碼中的錯誤(如果有的話)。

第2步 - 右鍵單擊VS Code的瀏覽窗格中的“工作文件”選項下的TypeScript文件。選擇“在命令提示符下打開”選項。

編譯和執(zhí)行

第3步 - 要編譯文件,請在終端窗口中使用下面的命令:

tsc Test.ts

步驟4 - 該文件被編譯為Test.js。要運行寫入的程序,請在終端中輸入以下內容:

node Test.js

編譯器標志

編譯標志讓你可以在編譯過程中更改編譯器的行為。每一個編譯器標志都公開一個允許您更改編譯器行為方式的設置。

下表列出了與TSC編譯器相關的一些常見的標志。一個典型的命令行用法使用部分或全部開關。

序號編譯器標志和說明
1

--help

顯示幫助手冊

2

--module

加載外部模塊

3

--target

設置目標ECMA版本

4

--declaration

生成額外的.d.ts文件

5

--removeComments

移除輸出文件中所有注釋

6

--out

將多個文件編譯為單個輸出文件

7

--sourcemap

生成sourcemap(.map)文件

8

--module noImplicitAny

不允許編譯器推論任何類型

9

--watch

觀察文件的更改并動態(tài)重新編譯它們

注意:多個文件可以同時被編譯。

tsc file1.ts, file2.ts, file3.ts

TypeScript中的標識符

標識符是給予程序中元素的名稱,如變量,函數(shù)等。標識符的規(guī)則如下:

  • 標識符可以包括字符和數(shù)字。但是,標識符不能以數(shù)字開頭。

  • 除了下劃線(_)或美元符號($)外,標識符不能包含特殊符號。

  • 標識符不能是關鍵字。

  • 標識符必須是唯一的。

  • 標識符是區(qū)分大小寫的。

  • 標識符不能包含空格。

下表中列出了有效和無效的標識符的一些例子:

有效的標識符無效的標識符
firstNameVar
first_namefirst name
num1first-name
$result1number

TypeScript 關鍵字

關鍵字在語言的上下文中具有特殊含義。下表列出了TypeScript中的一些關鍵字:

breakasanyswitch
caseifthrowelse
varnumberstringget
moduletypeinstanceoftypeof
publicprivateenumexport
finallyforwhilevoid
nullsuperthisnew
inreturntruefalse
anyextendsstaticlet
packageimplementsinterfacefunction
newtryyieldconst
continuedocatch

空格和換行符

TypeScript忽略程序中出現(xiàn)的空格,制表符和換行符。你可以在程序中自由使用空格,制表符,換行符,并且可以自由地以簡潔一致的方式格式化和縮進程序,使代碼易于閱讀和理解。

TypeScript對大小寫敏感

TypeScript對大小寫敏感,這意味著,TypeScript區(qū)分大寫和小寫字符。

分號是可選

每行指令都稱為語句。分號在TypeScript中是可選的。

示例

console.log("hello world")
console.log("We are learning TypeScript")

單行可以包含多個語句。然而,這些語句必須用分號隔開。

TypeScript中的注釋

注釋是提高程序可讀性的方法。注釋可用于包含有關程序的其他信息,如代碼的作者,有關函數(shù)/構造的提示等。編譯器會忽略注釋。

TypeScript支持以下類型的注釋:

  • 單行注釋(//) - // 和行尾之間的任何文本都視為注釋

  • 多行注釋(/ * * /) - 這些注釋可能跨越多行。

示例

//this is single line comment 
 
/* This is a  
   Multi-line comment 
*/

TypeScript和面向對象

TypeScript是面向對象的JavaScript。面向對象是一種遵循真實世界建模的軟件開發(fā)范例。面向對象將程序視為通過稱為方法的機制相互通信的對象集合。TypeScript支持這些面向對象的組件。

  • Object(對象) - 一個對象是任何實體的實時表示。根據(jù)Grady Brooch的說法,每個對象必須有三個特征:

    • State(狀態(tài) - 由對象的屬性描述

    • Behavior(行為 - 描述對象的行為方式

    • Identity(標識) - 將對象與一組類似此類對象區(qū)分開的唯一值。

  • Class(類) - OOP方面的類是創(chuàng)建對象的藍圖。 類封裝了對象的數(shù)據(jù)。

  • Method(方法 - 方法促進對象之間的通信。

例如:

class Greeting { 
   greet():void { 
      console.log("Hello World!!!") 
   } 
} 
var obj = new Greeting(); 
obj.greet();

上面的示例定義了一個類Greeting。這個類有一個方法greet()。該方法在終端上打印字符串“Hello World”。new關鍵字創(chuàng)建類(obj)的對象。該對象調用方法greet()。

在編譯時,它會生成以下JavaScript代碼:

//Generated by typescript 1.8.10
var Greeting = (function () {
   function Greeting() {
   }
   Greeting.prototype.greet = function () {
      console.log("Hello World!!!");
   };
	return Greeting;
}());

var obj = new Greeting();
obj.greet()

上述程序的輸出如下:

Hello World!!!

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號