亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

?typeScript入門基礎知識有哪些

發布時間:2022-02-18 09:07:30 來源:億速云 閱讀:115 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“ typeScript入門基礎知識有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“ typeScript入門基礎知識有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

TS 的特點:
  • 始于 javaScript 歸于 javaScript 。

  • 強大的類型系統。

  • 先進的 javaScript 。

  • 適合開發大型項目,編譯成純 js 代碼,js 可以運行在任何瀏覽器上。

typeScript 是區分大小寫的一門語言,本篇文章主要帶你了解 ts 的安裝,環境配置,以及簡單的入門。

一、安裝 TS

使用之前需要安裝:

npm install -g typescript

安裝完成之后,使用 tsc -v 檢查安裝之后的版本。

第一個 ts 文件:01.ts,代碼如下:

(()=>{
 function show(msg){
  return "字符串:"+msg
 }
 let str = "前端"
 console.log(show(str))
})()

通過 script 引入 html 文件

<script  src="./01.ts"></script>

頁面正常運行,因為 ts 能夠支持 js 語法,所以文件內直接引入使用是沒問題的,除此之外,還可以使用 node 命令運行該文件,也是可以正常執行的。

如果此時,在 ts 文件內加入 ts 語法:

// 添加類型支持
(()=>{
 function show(msg:string){
  //添加 string 的意義在于傳入的 msg值只能是字符串,不可以是其他類型
  return "字符串:"+msg
 }
 let str = "前端"
 console.log(show(str))
})()

此時瀏覽器運行時,會報錯,無法繼續執行。

此時就需要將 ts 文件編譯為 js 文件,打開命令行工具,運行:

tsc 01.ts

運行后會自動生成一個 01.js 文件,查看js代碼內容如下:

function show(msg) {
 return "字符串:" + msg;
}
(function () {
 var str = "前端";
 console.log(show(str));
})();

總結:

  • ts 文件內直接輸入 js 文件,在 html 文件引入 ts 文件,在瀏覽器內是可以直接運行的。

  • ts 文件內如果有 ts 語法代碼,若在 html 文件內引入 ts 文件,直接在瀏覽器運行會報錯,此時需要先編譯為 js 文件。

  • 在 ts 文件函數中的形參,如果使用了某個類型進行修飾,那么在最終編譯的 js 文件中是沒有該類型的。

  • ts 內地 let 修飾符,編譯后的 js 文件內變成了 var 。

二、Vscode 自動編譯 ts

新建一個項目目錄,當前目錄下打開命令行工具,執行

tsc --init

自動生成 tsconfig.json 文件,代碼如下:

{
 "compilerOptions": {
  "target": "es2016",                                
  "module": "commonjs",                               
  "outDir": "./js",                                  
  "esModuleInterop": true,                             
  "forceConsistentCasingInFileNames": true,      
  "strict": true,                                                  
  "skipLibCheck": true                               
 }
}

注:

outDir 表示的是 ts 文件編譯之后生成 js 文件的存放目錄。如果屬性值之后的文件夾不存在時,就會自動創建。

strict 表示是嚴格模式。

新建 index.ts 文件,代碼如下:

(() => {
 function showStr(str:string) {
  return str 
 }
 let a: string = "前端人"
 // 調用函數
 console.log("a",showStr(a));
})()

類型注解:函數地形參后加修飾符,用來限制傳入參數的類型,string 表示只能為字符串類型。

在命令行運行

tsc -w 
//或
tsc -watch

自動生成 js 文件夾,包括 index.js 文件。運行該命令后,只要 ts 文件發生改變,就會自動編譯。

一切運行正常,沒有任何錯誤。

如果調用函數的參數傳為數值時:

console.log(showStr(123));

此時編輯器內報錯:類型“number”的參數不能賦給類型“string”的參數。

?typeScript入門基礎知識有哪些

ts 能夠智能提示問題,是因為 ts 提供了靜態代碼分析,可以分析代碼結構和提供的類型注解。

但是 tsc 編譯的時候,雖然會提示錯誤,但它依舊會編譯為 js 文件,js 在執行的時候不會報錯,因為 js 是弱類型語言。

三、入門 TS

基礎數據類型

  • 為布爾值類型。如:let isDone: boolean = false;

  • number 為數值類型,ts 能夠支持二、八、十、十六進制數據。如:let decLiteral: number = 6;

  • string 為字符串類型。如:let name: string = "bob";

  • 表示數組類型。數組名后加元素類型[] 加 數組值。如:let list: number[] = [1, 2, 3];

  • 元組類型。如:let arr:[string,number,boolean] = ['str',1,true]

  • 枚舉,為一組數值賦予友好名字。如:enum Color { red, green, blue }

  • 任意類型,有時不確定傳入的值是什么類型,就可以使用 any 類型。如:let notSure:any = 1

  • 空值,與 any 正好相反,表示沒有任何類型。 如:function show():void { }

  • null undefined

  • never 類型,表示永不存在的值。function error(message: string): never { throw new Error(message); }

接口

接口簡單點講就是一種約束。在 ts 里,接口的作用就是為這些類型命名和為你的代碼或第三方代碼定義契約。

TypeScript 中的接口是一個非常靈活的概念,除了可用于對類的一部分行為進行抽象以外,也常用于對「對象的形狀(Shape)」進行描述。

使用形式:

(() => {
 //定義一個接口
 interface Person{
  firstName:string,//添加類型限定
  lastName:string
 }
 function showFullName(person:Person) {
  // 添加類型限定之后,內部會自動提示接口內的字段
  return person.firstName + '_' + person.lastName
 }
 const p = {
  firstName: "Hello",
  lastName: "World"
 }
 console.log("姓名",showFullName(p));
})()

如果把 p 中的 firstName 注釋掉,就會報錯,提示:

?typeScript入門基礎知識有哪些

在本實例中,接口的意義就是限定傳入 showFullName 函數內的數據屬性的限制。

接口優點:自動檢測傳入的數據是否符合接口規范,如果不符合則會報錯。

Typescript類介紹

傳統的 JavaScript 的程序使用函數和基于原型的繼承來創建可重用的組件,但對于熟悉使用面向對象方式的程序員來講就有些棘手,因為他們用的是基于類的繼承并且對象是由類構建出來從 ECMAScript 2015,也就是 ECMAScript 6 開始,JavaScript 程序員將能夠使用基于類的面向對象的方式。使用 TypeScript,我們允許開發者現在就使用這些特性,并且編譯后的 JavaScript 可以在所有主流瀏覽器和平臺上運行,而不需要等到下個JavaScript的版本。

ts 的類只是一個語法糖,本質還是 js 函數實現的。

使用示例:

(() => {
  //定義一個接口
  interface Person{
    firstName: string,
    lastName:string
  }
  //定義一個類
  class Personal {
    //定義公共的字段屬性
    firstName: string
    lastName: string
    fullName: string
    // 構造函數
    constructor(firstName: string,lastName:string) {
      //更新屬性數據
      this.firstName = firstName
      this.lastName = lastName
      this.fullName = this.firstName + this.lastName
    }
  }
  
  const p = new Personal('你','好')
  
  function showFullName(person: Person) {
    return person.firstName + person.lastName
  }
  console.log("p",showFullName(p));
})()

讀到這里,這篇“ typeScript入門基礎知識有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜梁县| 平泉县| 张掖市| 公安县| 白沙| 特克斯县| 探索| 雷山县| 湛江市| 烟台市| 唐山市| SHOW| 郸城县| 芜湖县| 高台县| 枝江市| 伽师县| 阿拉善左旗| 航空| 霍林郭勒市| 保山市| 定兴县| 南城县| 涪陵区| 洛隆县| 宜兰市| 南开区| 峨边| 永宁县| 布拖县| 舞钢市| 龙山县| 原阳县| 海阳市| 河东区| 子洲县| 资源县| 突泉县| 米泉市| 鄱阳县| 吴旗县|