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