[JS][Tools][0] TypeScript Note

相關網站

TypeScript (codeplex)專案 | TypeScript 官方網站 | Web Essentials | DefinitelyTyped

目前為止,我覺得 TypeScript 的上手度還滿高的,基本寫作模式在官方網站的影片也有解說,比較可惜的是 private 及 public ,只在 ts(TypeScript) 當中有效,最後輸出的時侯,仍然是無視這些。

DefinitelyTyped 可以到這邊找尋對應的 JS 工具, 最近很火紅的 angularjs 也有。

$(function () {
 // press f12, chrome debug mode
 var p = new My.Helper.Tools();
 p.Run();
 p.Run4();
});

namespace 觀念跟其它程式語言相同,只要不重覆就可以放在一起。

// Module
module My.Helper {
 // Class
 export class Tools{
  // Constructor( 選擇性 )
  constructor() { }
  //預設為 public
  Run(): void {
   //靜態用法
   Test.Run_0();

   var t = new Test();
   t.Run_1();
   t.Run_2();

   //不允許
   //t.Run3();
  }

  private Run4(): void {
   console.log("private Run_4");
  }
 }

 export class Test {
  constructor() { }
  static Run_0(): void {
   //for chrome
   console.log("static Run_0");
  }

  Run_1(): void {
   console.log("public Run_1");
  }

  public Run_2(): void {
   console.log("public Run_2");
  }

  private Run3(): void {
   console.log("private Run_3");
  }
 }

}

正常來說,有寫過其它程式語言,無痛上手應該是沒問題的 !!

外部 ts 檔的引用

/// <reference path="Test0000.ts" />
// Module
module My.Helper {
 // Class 繼承自 TestParent
 export class TestChild extends TestParent{
   // Constructor
  constructor() { super(); }
 }
}

被引用的對像

// Module
module My.Helper {
 // Class
 export class TestParent {
  constructor() { 
   //call me 
  }
 }
}

目前為止再專案上的使用,個人覺得還滿方便的,用法上可能上手度很高,所以覺得沒啥必要介面語法,除了比較特殊的地方。此外,ts 強型別對 debug 的幫助,也不小補,最後,可以暫時跳脫一堆 html 代碼 = =!! 。


沒有留言: