diff --git a/th-th/typescript.th.html.markdown b/th-th/typescript.th.html.markdown
index 94305c14..ce1d3bb8 100644
--- a/th-th/typescript.th.html.markdown
+++ b/th-th/typescript.th.html.markdown
@@ -15,63 +15,59 @@ TypeScript เป็นภาษาที่มีเป้าหมายเพ
[Playground] (http://www.typescriptlang.org/Playground) ซึ่งคุณจะเขียนโค้ดพร้อม autocomplete และเห็นเลยว่ามันจะแปลงมาเป็นผลลัพธ์แบบ JavaScript อย่างไร
```ts
-// There are 3 basic types in TypeScript
+// TypeScript มี data type พื้นฐาน 3 แบบ
let isDone: boolean = false;
let lines: number = 42;
let name: string = "Anders";
-// But you can omit the type annotation if the variables are derived
-// from explicit literals
+// แต่เราก็สามารถละการบอกชนิดได้ โดยชนิดตัวแปรก็จะปรับชนิดของเขาจากข้อมูลที่กำหนดให้โดยตรง
let isDone = false;
let lines = 42;
let name = "Anders";
-// When it's impossible to know, there is the "Any" type
+// ถ้าไม่รู้ ก็กำหนดเป็นชนิด "Any" ได้
let notSure: any = 4;
notSure = "maybe a string instead";
-notSure = false; // okay, definitely a boolean
+notSure = false; // โอเค ตอนนี้เป็น Boolean แน่ ๆ
-// Use const keyword for constants
+// ใช้ const สำหรับสร้าง ค่าคงที่
const numLivesForCat = 9;
numLivesForCat = 1; // Error
-// For collections, there are typed arrays and generic arrays
+// สำหรับ collections มี typed arrays และ generic arrays
+// ก็คือ อะเรย์บอกชนิด และ อะเรย์เจเนอริก ตามลำดับ
let list: number[] = [1, 2, 3];
-// Alternatively, using the generic array type
+// ในอีกทางหนึ่ง สร้างเป็นอะเรย์ชนิด generic array
let list: Array = [1, 2, 3];
-// For enumerations:
+// และสำหรับ enumerations:
enum Color { Red, Green, Blue };
let c: Color = Color.Green;
-// Lastly, "void" is used in the special case of a function returning nothing
+// สุดท้าย, "void" ใช้เมื่อเป็นกรณีพิเศษที่ฟังก์ชันไม่ส่งค่ากลับ
function bigHorribleAlert(): void {
alert("I'm a little annoying box!");
}
-// Functions are first class citizens, support the lambda "fat arrow" syntax and
-// use type inference
+// ฟังก์ชั่น (Functions) เป็นสิ่งที่มีความสำคัญมาเป็นอันดับหนึ่ง รองรับการใช้ "fat arrow" ในการสร้าง lambda function และ type inference
-// The following are equivalent, the same signature will be inferred by the
-// compiler, and same JavaScript will be emitted
+// สไตล์ต่อไปนี้มีค่าเท่ากันกับบรรทัดที่ยกตัวอย่างด้านล่าง เพราะคอมไพเลอร์จะมองเหมือนกัน และได้ JavaScript แบบเดียวกัน
let f1 = function (i: number): number { return i * i; }
-// Return type inferred
+// อนุมานชนิดที่ส่งกลับ หรือ type inferred
let f2 = function (i: number) { return i * i; }
-// "Fat arrow" syntax
+// เขียนแบบ "Fat arrow" แต่บอกชนิดส่งกลับ
let f3 = (i: number): number => { return i * i; }
-// "Fat arrow" syntax with return type inferred
+// เขียนแบบ "Fat arrow" แต่อนุมานชนิดส่งกลับ
let f4 = (i: number) => { return i * i; }
-// "Fat arrow" syntax with return type inferred, braceless means no return
-// keyword needed
+// เขียนแบบ "Fat arrow" อนุมานชนิดส่งกลับ พร้อมกับไม่มีวงเล็บ แปลว่าไม่ต้องมี return keyword ด้วย
let f5 = (i: number) => i * i;
-// Interfaces are structural, anything that has the properties is compliant with
-// the interface
+// Interfaces นั้นเป็นเหมือนเราออกแบบโครงสร้าง คุณสมบัติต่าง ๆ ตอนเอาไปใช้ จะต้องเป็นไปตาม interface นั้น ๆ
interface Person {
name: string;
- // Optional properties, marked with a "?"
+ // Optional properties กำหนดด้วย "?"
age?: number;
- // And of course functions
+ // และมี function พร้อมชนิดได้ใน interface
move(): void;
}