Template literal types trong TypeScript qua ví dụ
Dùng template literal types để sinh tên key, parse route param và viết event emitter an toàn kiểu, kèm test kiểu với Vitest và các bẫy cần tránh.
Dùng template literal types để sinh tên key, parse route param và viết event emitter an toàn kiểu, kèm test kiểu với Vitest và các bẫy cần tránh.
Cờ strict trong tsconfig bật những kiểm tra nào, mỗi kiểm tra bắt lỗi gì, nên bật thêm cờ nào ngoài strict, và cách chuyển dự án cũ sang strict.
Dùng keyof, typeof và indexed access types để suy ra type từ dữ liệu có sẵn, giảm lặp code và để compiler bắt lỗi sai key thay cho bạn.
Cách cấu hình tsconfig và package.json để thư viện TypeScript sinh file .d.ts đúng chuẩn, có type đầy đủ cho người dùng và kiểm thử được bằng Vitest.
Cách khai báo kiểu cho hàm async, dùng Promise<T>, Awaited, Promise.all, xử lý lỗi an toàn và tránh các bẫy hay gặp với callback async.
So sánh enum và union string literal trong TypeScript về runtime, type safety và tooling, kèm pattern `as const` và tiêu chí chọn cho từng tình huống.
Dùng Zod để kiểm tra dữ liệu từ API, form hay biến môi trường lúc runtime, đồng thời suy ra type TypeScript từ cùng một schema.
Dùng mapped types và conditional types để sinh kiểu tự động từ kiểu có sẵn, kèm infer, key remapping, kiểm thử kiểu và các lỗi hay gặp.
Hướng dẫn thiết lập tsconfig.json cho dự án TypeScript mới, gồm strict mode, module NodeNext, tách cấu hình build/test và các lỗi hay gặp.
Cách dùng type guard (x is T) và assertion function (asserts x is T) để thu hẹp kiểu an toàn, kiểm tra dữ liệu unknown và tránh các bẫy thường gặp.
Dùng discriminated union để mô hình hoá state và API response, để compiler chặn trạng thái không hợp lệ và nhắc bạn xử lý đủ mọi trường hợp.
Phân biệt any, unknown và never trong TypeScript qua ví dụ cụ thể: khi nào dùng, khi nào tránh, và cách kiểm tra exhaustive.
Tìm hiểu cách kết hợp kiểu dữ liệu với union, intersection và cách TypeScript thu hẹp kiểu (narrowing) để code an toàn, ít lỗi runtime hơn.
Tìm hiểu cách dùng Partial, Pick, Omit và Record để tái sử dụng type, giảm trùng lặp interface trong TypeScript.
Hiểu TypeScript generics qua các ví dụ đời thường như Repository, ApiResponse, Cache — không lý thuyết suông, có code chạy được và test minh họa.