Follow Me通讀Angular權威教程之TypeScript

原書第二章:
在這裏插入圖片描述

angular是用typescript構建的

但是typescript並不是一種新的語言,嚴格上說是屬於es6(ECMAScript 6(是於2015年6月正式發佈的JavaScript語言的標準,正式名爲ECMAScript 2015(ES2015)。)的超集。
這裏說一下超集的概念:

定義:如果一個集合S2中的每一個元素都在集合S1中,且集合S1中可能包含S2中沒有的元素,則集合S1就是S2的一個超集,反過來,S2是S1的子集。
S1是S2的超集,若S1中一定有S2中沒有的元素,則S1是S2的真超集,反過來S2是S1的真子集。

在這裏插入圖片描述
所以typescript是es6的超集,簡單理解就是typescript比es6大就完事,es6再typescript裏面。

在這裏插入圖片描述
再來看看書本中給出的圖,明顯比博主的好看許多,包含關係也是非常的正確。

typescript提供了哪些特性:

類型

typescript類型是可選的,也就是說可以和之前JavaScript的代碼一樣一直var var var(哇哇哇),也可以進行包括字符串,數字,布爾值等的類型聲明
還是要哇,但是提供哇完了之後進行類型指定了

var name: string; 

在聲明函數時,同樣可以指定函數參數的返回值類型:

function greetText(name: string): string 
{  
 return "Hello " + name; 
 } 

因爲此時name已經確定了類型,所以如果給函數傳一個非string類型的參數,是會報錯的。

新語法

在這裏插入圖片描述

除string 的number,boolean,Array,enum

var age: number = 36; 

var married: boolean = true; 

var jobs: Array<string> = ['IBM', 'Microsoft', 'Google']; 
var jobs: string[] = ['Apple', 'Dell', 'HP']; 

enum Role {Employee, Manager, Admin}; 
var role: Role = Role.Employee; 

特殊類型

任意類型

var something: any = 'as string'; 
something = 1;
 something = [1, 2, 3]; 

無類型

function setName(name: string): void
 {   
 this.name = name; 
 } 

不多說,class就是類

class 類名{}

類中存在的屬性,方法

  class Person {      
   first_name: string;       
   last_name: string;       
   age: number; 
 
   greet() {         
      console.log("Hello", this.first_name);       
      } 
 
   ageInYears(years: number): number {        
       return this.age + years;       }     } 
 
   // instantiate a new Person instance     
    var p: Person = new Person(); 
 
   // set initial age     
    p.age = 6; 
 
   // how old will he be in 12 years?     
    p.ageInYears(12); 
 
   // -> 18 

構造函數

在這裏插入圖片描述
等價↑↓
在這裏插入圖片描述
可以在構造函數中進行初始化數據
在這裏插入圖片描述

繼承

  • extend標註

在這裏插入圖片描述

模塊導入

import

語言工作包

胖箭頭函數

語法特性:!!!!!它和環繞它的外部代碼共享一個this!!!!!!!

  • old JavaScript:

在這裏插入圖片描述

  • new typescript:
  • 在這裏插入圖片描述

模板字符串

  • 字符串中可以添加變量:
var firstName = "Nate"; 
var lastName = "Murray"; 
 
// interpolate a string 
var greeting = `Hello ${firstName} ${lastName}`; 
 console.log(greeting);

這裏需要注意的是,只能用反引號。

  • 多行字符串:
var template = ` 
<div>   
<h1>Hello</h1>   
<p>This is a great website</p> 
</div> ` 
 
// do something with `template` 

嘗試REPL

REPL(Read Eval Print Loop:交互式解釋器) 表示一個電腦的環境,類似 Window 系統的終端或 Unix/Linux shell,
我們可以在終端中輸入命令,並接收系統的響應。

安裝

npm install -g tsun

在這裏插入圖片描述
建議科學上網安裝

問題解決

啓動以後出現了問題:
報錯:Error: Cannot find module ‘typescript’
原因是沒有安裝typescript

npm install -g typescript

在這裏插入圖片描述

啓動

tsun

在這裏插入圖片描述

使用

Use it as repl: tsun
Use it as interpreter: tsun path/to/app.ts
Other repl command can be accessed by typing :help
Command Line options can be viewd by passing -h or --help option

在這裏插入圖片描述
附一個網址:

https://www.npmjs.com/package/tsun

在這裏插入圖片描述

🆗,準備就緒,下一篇正式進入angular的世界。

在這裏插入圖片描述

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