ด้วยสํานึกในพระมหากรุณาธิคุณสมเด็จพระนางเจ้าสิริกิติ์เป็นล้นพ้นอันหาที่สุดมิได้


การใช้งาน Standard Library และ Global Objects ในภาษา TypeScript เบื้องต้น

บทความ เมื่อไม่กี่สัปดาห์ โดย Ninenik Narkdee
typescript

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ typescript

ดูแล้ว 82 ครั้ง


ใน TypeScript "Core Library" เทียบได้กับ Standard Built-in Objects ของ ECMAScript (JavaScript) ซึ่งมีให้ใช้งานทันทีในทุกสภาพแวดล้อม (เช่น เบราว์เซอร์ หรือ Node.js) โดยไม่จำเป็นต้องใช้คำสั่ง import ใด ๆ

 

1. การจัดการ Module และการ Output

 

 

A. การใช้งาน Module (Imports)

 

ในขณะที่ Dart ใช้ import 'dart:math'; สำหรับ Core Library, TypeScript/JavaScript ใช้คำสั่ง import เฉพาะกับ External Modules หรือ Files ที่เราสร้างขึ้นเท่านั้น

TypeScript
// การ import ไฟล์หรือ Module ภายนอกเท่านั้น
import { MyClass } from './my_module';
import * as MathUtils from 'lodash'; // ตัวอย่าง External Package

 

B. การแสดงข้อความทาง Console

 

แทนที่จะใช้ print() เหมือน Dart ใน TypeScript/JavaScript จะใช้ console.log() และสามารถใช้ console.error(), console.warn() ได้ด้วย

TypeScript
let myStr: string = "Hello TS";
let obj: any; // ค่าเริ่มต้นคือ undefined (ไม่ใช้ null เหมือน Dart)

console.log(myStr);          // Hello TS
console.log(typeof myStr);   // string (ใช้ typeof แทน runtimeType สำหรับ primitive)
console.log(typeof obj);     // undefined

 

2. การจัดการตัวเลข (Number)

 

TypeScript มีชนิดข้อมูลตัวเลขเพียงชนิดเดียวคือ number (รวมทั้งเลขจำนวนเต็มและทศนิยม)

 

A. การแปลงข้อความ (String) เป็นตัวเลข

 

ใช้ Global Function หรือ Object Methods ในการแปลงข้อความ (String) เป็นตัวเลข:

การทำงาน Dart TypeScript/JavaScript
แปลงเป็นจำนวนเต็ม int.parse(str) parseInt(str, radix)
แปลงเป็นทศนิยม double.parse(str) parseFloat(str)
TypeScript
let a: string = "37";
let hexValue: string = "42"; // 42 ในเลขฐาน 16

console.log(parseInt(a));          // 37 (ชนิด number)
console.log(parseInt(hexValue, 16)); // 66 (ระบุฐาน 16 ด้วย radix)
console.log(parseFloat("42.1"));   // 42.1

 

B. การแปลงตัวเลขกลับเป็นข้อความ (String)

 

การทำงาน Dart TypeScript/JavaScript
แสดงทศนิยมตามจำนวน toStringAsFixed(n) toFixed(n)
แปลงเป็น String ธรรมดา toString() toString()
TypeScript
let numA: number = 123.456;
let fixedStr: string = numA.toFixed(2); // String ทศนิยม 2 ตำแหน่ง

console.log(fixedStr); // "123.46" (มีการปัดเศษ)

 

3. การจัดการข้อความ (String) และ Regular Expression

 

String ใน TypeScript/JavaScript เป็น Object ที่มี Method ในการจัดการข้อความเหมือนกับ Dart

TypeScript
let title: string = " ภาษา TypeScript เบื้องต้น ";

console.log(title.trim());      // "ภาษา TypeScript เบื้องต้น" (ลบช่องว่างหัวท้าย)
console.log(title.trimStart()); // "ภาษา TypeScript เบื้องต้น "
console.log(title.trimEnd());   // " ภาษา TypeScript เบื้องต้น"

// การแทนที่ข้อความ (ไม่เปลี่ยน String เดิม แต่สร้าง String ใหม่)
let greetingTemplate = 'สวัสดี, NAME!';
let greeting = greetingTemplate.replace(new RegExp('NAME'), 'Ebiwayo');
// หรือใช้ replaceAll สำหรับแทนที่ทั้งหมดที่ตรงกัน (ถ้ามีหลายตัว)

console.log(greeting); // สวัสดี, Ebiwayo!

 

4. การจัดการคอลเลกชัน (Collections)

 

 

A. Array (เทียบเท่า Dart List)

 

ใช้โครงสร้าง [] หรือ Array<Type>

การทำงาน Dart (List) TypeScript (Array)
เพิ่มรายการ list.add(value) array.push(value)
เพิ่มหลายรายการ list.addAll([v1, v2]) array.push(...[v1, v2])
ลบรายการที่ Index list.removeAt(index) array.splice(index, 1)
หาจำนวน list.length array.length

 

B. Set

 

ใช้คลาส Set ในการเก็บกลุ่มข้อมูลที่ไม่ซ้ำกัน

TypeScript
let ingredients: Set<string> = new Set();
ingredients.add('gold');
ingredients.add('titanium');
ingredients.add('gold'); // ไม่เพิ่มเพราะซ้ำ

console.log(ingredients.size); // 2 (ใช้ .size แทน .length)
console.log(ingredients.has('titanium')); // true (ใช้ .has() แทน .contains())

// การหาค่าที่ซ้ำกัน (Intersection) ต้องทำผ่านการแปลงเป็น Array
let nobleGases = new Set(['xenon', 'argon', 'gold']);
let intersection = [...ingredients].filter(x => nobleGases.has(x));

console.log(intersection); // ['gold']

 

C. Map

 

ใช้คลาส Map ในการจัดเก็บข้อมูลแบบ Key-Value คู่กัน โดยสามารถกำหนดชนิดข้อมูลของ Key และ Value ได้อย่างชัดเจน

TypeScript
// Map<Key Type, Value Type>
let searchTerms = new Map<string, number>();

searchTerms.set('Oahu', 1); // กำหนดค่า
searchTerms.set('Kauai', 2);

console.log(searchTerms.get('Kauai'));      // 2
console.log(searchTerms.has('Kauai'));      // true (ใช้ .has() แทน .containsKey())
searchTerms.delete('Kauai');               // ลบข้อมูล
console.log(searchTerms.has('Kauai'));      // false

 

5. การจัดการ URI (URL Class)

 

แทนที่จะใช้ Uri Class เหมือนใน Dart ใน TypeScript/JavaScript (สภาพแวดล้อม Web/Node.js) จะใช้ URL Class ซึ่งเป็น Global Object สำหรับจัดการที่อยู่เว็บ (URL)

TypeScript
// การสร้าง Object URL
const url = new URL('https://example.com:8080/path?query=1#hash');

console.log(url.hostname); // example.com
console.log(url.port);     // 8080
console.log(url.pathname); // /path
console.log(url.searchParams.get('query')); // 1


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ



อ่านต่อที่บทความ



ทบทวนบทความที่แล้ว









เนื้อหาที่เกี่ยวข้อง



Tags:: typescript







URL สำหรับอ้างอิง










เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ