0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Hướng Dẫn Chi Tiết Về TypeScript Dành Cho Người Mới Bắt Đầu

Đăng vào 1 tháng trước

• 5 phút đọc

Chủ đề:

typescript

Hướng Dẫn Chi Tiết Về TypeScript Dành Cho Người Mới Bắt Đầu

TypeScript đã trở thành một công cụ không thể thiếu trong phát triển ứng dụng web hiện đại, hỗ trợ từ các dự án nhỏ đến những ứng dụng quy mô lớn. Bài viết này sẽ giúp bạn khám phá những kiến thức nền tảng mà bất kỳ lập trình viên TypeScript nào cũng cần nắm vững, từ lúc mới bắt đầu cho đến khi trở thành thành thạo.

Điều Kiện Tiên Quyết

Để bắt đầu học TypeScript, bạn cần có những điều kiện sau:

  • Hiểu biết cơ bản về JavaScript: TypeScript là một siêu ngôn ngữ của JavaScript, do đó, kiến thức về JavaScript là rất quan trọng.
  • Cài đặt Node.js: Bạn cần có Node.js được cài đặt trên máy tính để có thể chạy TypeScript.
  • Trình Soạn Thảo Mã: Chúng tôi khuyến khích bạn sử dụng Visual Studio Code (VS Code) vì nó hỗ trợ TypeScript rất tốt.

Thiết Lập Môi Trường Làm Việc Với TypeScript

Để bắt đầu, bạn cần thiết lập một dự án TypeScript. Dưới đây là các bước chi tiết:

Copy
# Cài đặt TypeScript toàn cầu
npm install -g typescript

# Tạo thư mục dự án mới
mkdir ts-basics
cd ts-basics

# Khởi tạo một dự án npm mới
npm init -y

# Cài đặt TypeScript như là một phụ thuộc phát triển
npm install typescript --save-dev

# Khởi tạo cấu hình TypeScript
npx tsc --init

Các Khái Niệm Cốt Lõi Trong TypeScript

1. Các Kiểu Dữ Liệu Cơ Bản

TypeScript có hệ thống kiểu mạnh mẽ. Dưới đây là các kiểu dữ liệu cơ bản mà bạn sẽ sử dụng:

typescript Copy
// Các kiểu dữ liệu cơ bản
let fullName: string = "John Doe";
let age: number = 30;
let isEmployed: boolean = true;

// Mảng
let numbers: number[] = [1, 2, 3, 4, 5];
let names: Array<string> = ["Alice", "Bob", "Charlie"];

// Tuple
let person: [string, number] = ["John", 30];

// Enum
enum Color {
    Red,
    Green,
    Blue
}
let favoriteColor: Color = Color.Blue;

// Any và Unknown
let notSure: any = 4;
let mysterious: unknown = "hello";

2. Suy Luận Kiểu (Type Inference)

TypeScript có khả năng suy luận kiểu tự động trong nhiều trường hợp:

typescript Copy
// Suy luận kiểu tự động
let message = "Hello"; // TypeScript suy luận kiểu là string
let count = 42;        // TypeScript suy luận kiểu là number
let isValid = true;    // TypeScript suy luận kiểu là boolean

// Suy luận mảng
let numbers = [1, 2, 3]; // TypeScript suy luận kiểu là number[]

3. Giao Diện (Interfaces)

Interfaces trong TypeScript giúp xác định cấu trúc của các đối tượng:

typescript Copy
interface User {
    name: string;
    age: number;
    email: string;
    isAdmin?: boolean; // Thuộc tính tùy chọn
}

function createUser(user: User): void {
    console.log(`Creating user: ${user.name}`);
}

// Sử dụng interface
const newUser: User = {
    name: "Alice",
    age: 25,
    email: "alice@example.com"
};

createUser(newUser);

4. Hàm Trong TypeScript

Định kiểu cho hàm là một phần quan trọng:

typescript Copy
// Hàm với chú thích kiểu
function add(x: number, y: number): number {
    return x + y;
}

// Hàm arrow với kiểu
const multiply = (x: number, y: number): number => x * y;

// Tham số tùy chọn và tham số mặc định
function greet(name: string, greeting: string = "Hello"): string {
    return `${greeting}, ${name}!`;
}

// Tham số rest
function sum(...numbers: number[]): number {
    return numbers.reduce((acc, curr) => acc + curr, 0);
}

5. Dự Án Thực Tiễn: Ứng Dụng Danh Sách Công Việc (Todo List)

Chúng ta sẽ xây dựng một ứng dụng danh sách công việc đơn giản:

typescript Copy
interface Todo {
    id: number;
    title: string;
    completed: boolean;
    dueDate?: Date;
}

class TodoList {
    private todos: Todo[] = [];

    addTodo(title: string): void {
        const todo: Todo = {
            id: Date.now(),
            title,
            completed: false
        };
        this.todos.push(todo);
    }

    toggleTodo(id: number): void {
        const todo = this.todos.find(t => t.id === id);
        if (todo) {
            todo.completed = !todo.completed;
        }
    }

    listTodos(): void {
        this.todos.forEach(todo => {
            console.log(`[${todo.completed ? 'X' : ' '}] ${todo.title}`);
        });
    }
}

// Sử dụng
const myTodos = new TodoList();
myTodos.addTodo("Học kiến thức cơ bản về TypeScript");
myTodos.addTodo("Thực hành lập trình");
myTodos.toggleTodo(1);
myTodos.listTodos();

Những Lỗi Thường Gặp Và Các Phương Pháp Tốt Nhất

1. Ép Kiểu (Type Assertions)

Sử dụng ép kiểu khi thật sự cần thiết:

typescript Copy
let someValue: unknown = "this is a string";
let strLength: number = (someValue as string).length;

2. Kiểm Tra Giá Trị Null

Bật chế độ kiểm tra null nghiêm ngặt trong tsconfig.json:

json Copy
{
    "compilerOptions": {
        "strictNullChecks": true
    }
}

3. Type So Với Interface

Biết khi nào nên sử dụng mỗi loại:

typescript Copy
// Sử dụng interface cho định nghĩa đối tượng
interface Animal {
    name: string;
    makeSound(): void;
}

// Sử dụng type cho các phép toán giao nhau, hợp nhất và kiểu nguyên thủy
type StringOrNumber = string | number;
type Point = { x: number; y: number };

Bước Tiếp Theo Để Học TypeScript

  • Thực hành chú thích kiểu với các cấu trúc dữ liệu khác nhau.
  • Khám phá TypeScript Playground tại typescript-play.js.org.
  • Đọc tài liệu chính thức của TypeScript để mở rộng kiến thức.
  • Chuyển đổi một số dự án JavaScript của bạn sang TypeScript để thực hành.

Tài Nguyên Học Tập Thêm

  • Tài liệu chính thức của TypeScript
  • TypeScript Playground
  • Kho lưu trữ TypeScript trên GitHub của Microsoft

source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào