JavaScript (JS) 和 TypeScript (TS) 是軟體開發領域最受歡迎的兩種程式語言。雖然 JavaScript 長期以來一直是 Web 開發的首選語言,但 TypeScript 已成為 JavaScript 的強大超集,提供靜態類型等高級功能。讓我們深入研究這兩種語言,探索它們的用例,並透過實際範例了解它們的細微差別。
JavaScript 是一種多功能、輕量級的腳本語言,主要用於為網頁添加互動性。它受到所有現代瀏覽器的支持,並透過 Node.js 等工具擴展到瀏覽器之外。
function fetchUserData() { return new Promise((resolve) => { setTimeout(() => { resolve({ id: 1, name: "John Doe" }); }, 2000); }); } fetchUserData() .then((user) => console.log(`User: ${user.name}`)) .catch((err) => console.error(err));
TypeScript 透過引入 靜態類型 建構在 JavaScript 之上,這有助於在編譯時而不是運行時捕獲錯誤。這會產生更健壯且可維護的程式碼。
function fetchUserData() { return new Promise((resolve) => { setTimeout(() => { resolve({ id: 1, name: "John Doe" }); }, 2000); }); } fetchUserData() .then((user) => console.log(`User: ${user.name}`)) .catch((err) => console.error(err));
Feature | JavaScript | TypeScript |
---|---|---|
Typing | Dynamic | Static |
Learning Curve | Easier for beginners | Steeper but manageable |
Error Detection | At runtime | At compile-time |
Tooling | Decent | Superior (better IDE support) |
function addNumbers(a: number, b: number): number { return a + b; } // Correct Usage console.log(addNumbers(5, 10)); // Output: 15 // Incorrect Usage (Caught at Compile-Time) // console.log(addNumbers(5, "10")); // Error: Argument of type 'string' is not assignable to parameter of type 'number'.
範例:結合 TypeScript 和 JavaScript
interface User { id: number; name: string; email: string; } function greetUser(user: User): string { return `Hello, ${user.name}!`; } // Usage const user: User = { id: 1, name: "Alice", email: "alice@example.com" }; console.log(greetUser(user)); // Output: Hello, Alice!
以上是了解 JavaScript 和 TypeScript:帶有用例的綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!