JavaScript là một ngôn ngữ lập trình độc đáo. Nó được phát triển để xây dựng web và có các quy tắc riêng biệt so với các ngôn ngữ lập trình khác.
Một điểm khác biệt đáng chú ý là JavaScript là ngôn ngữ gõ động, nghĩa là bạn không cần phải khai báo kiểu dữ liệu khi tạo biến. Trong khi các ngôn ngữ khác như C, C# và Java yêu cầu bạn phải khai báo kiểu dữ liệu, được gọi là ngôn ngữ gõ tĩnh.
Các ngôn ngữ sử dụng ngôn ngữ gõ tĩnh thường mang lại sự ổn định và giảm lỗi trong mã. TypeScript có nhiệm vụ gần kết nối giữa JavaScript và các nguyên tắc lập trình truyền thống.
Khái niệm về kiểu dữ liệu trong lập trình là gì?
Khái niệm về kiểu dữ liệu trong lập trình là gì?
Một ví dụ về biến trong Java
int soCuaToi = 10;
Biến này là một số nguyên, viết tắt của số nguyên. Nó cho biết biến soCuaToi sẽ lưu trữ một số nguyên. Nếu bạn cố gắng lưu trữ một giá trị khác trong biến (như một chuỗi ký tự), chương trình sẽ không hoạt động.
Dưới đây là một số kiểu biến khác bạn có thể sử dụng:
- int—đại diện cho các số nguyên (ví dụ: 60).
- float— dùng để biểu diễn số thập phân.
- char—đại diện cho các ký tự đơn như ‘x’ hoặc ‘a’.
- string—một chuỗi ký tự như “Xin chào” và “Đây là một chuỗi”
- boolean— biểu diễn giá trị đúng hoặc sai.
JavaScript không cần bạn phải khai báo kiểu biến. Điều này mang lại tự do nhưng cũng có thể tạo ra một số thói quen không tốt. TypeScript giúp công việc của bạn trở nên dễ dàng hơn.
TypeScript là gì?
TypeScript có thể được coi là phiên bản cải tiến của JavaScript được phát triển bởi Microsoft, bổ sung các kiểu biến vào mã của bạn. Nó không phải là một ngôn ngữ mới hoàn toàn.
Để thấy sự tương đồng giữa chúng, hãy xem một dòng mã trong JavaScript và TypeScript
JavaScript:
let soCuaToi = 10;
TypeScript:
let soCuaToi: number = 10;
Khi bạn khai báo một biến trong TypeScript, bạn cũng khai báo kiểu dữ liệu của nó ngay lúc đó. Sự thay đổi nhỏ này lại mang lại sự khác biệt lớn. TypeScript là một ngôn ngữ lập trình biên dịch, không giống như JavaScript mà chạy trong trình duyệt. Việc biên dịch giúp cho các chương trình chạy nhanh hơn và hiệu quả hơn.
Hướng dẫn cài đặt TypeScript
- Thực hiện qua gói quản lý Node.js (NPM).
- Cài đặt plugin TypeScript từ Visual Studio.
Cài đặt thông qua NPM rất đơn giản với dòng lệnh:
> npm install -g typescript
Nếu bạn đang sử dụng Visual Studio 2017 hoặc Visual Studio 2015 Cập Nhật 3, bạn đã có TypeScript tích hợp sẵn.
Lợi ích của TypeScript
Dưới đây là những lý do mà các nhà phát triển web nên dùng TypeScript
Các Loại Biến
Trong TypeScript, bạn có thể gán kiểu cho các biến trong mã của mình. Điều này giúp bạn trở thành một lập trình viên xuất sắc hơn. TypeScript buộc bạn phải suy nghĩ kỹ lưỡng về mọi biến bạn sử dụng trong ứng dụng của mình. Điều này giúp tránh được lỗi trong mã, làm cho việc kiểm tra mã trở nên dễ dàng hơn.
TypeScript cung cấp cho bạn nhiều tùy chọn để khai báo biến
Số (Number)
let soCuaToi: số = 10;
Chuỗi (String)
let chuoiCuaToi: chuỗi = 'TypeScript';
Biến Boolean
Biến Logic (Boolean)
Mảng (Array)
Khi bạn xác định một mảng, bạn sẽ sử dụng loại giá trị chứa trong mảng theo sau là dấu ngoặc vuông
let mangCuaToi: số [] = [1,2,3];
Bất kỳ (any)
Kiểu biến này được dùng khi bạn muốn TypeScript cho phép bất kỳ kiểu nào được gán cho biến, giúp coder linh hoạt hơn khi không chắc chắn về biến của mình.
Void
Void được sử dụng khi bạn không muốn bất kỳ kiểu nào được gán cho biến, lý tưởng khi các hàm không trả về bất kỳ giá trị nào.
hàm thôngBáoNgẫuNhiên(): void { Console.gửi('Đây chỉ là một thông báo'); }
Giá trị Null (null)
Nó cung cấp cho bạn một giá trị không hợp lệ.
let giaTriNull: null = null; //Đây là tất cả những gì bạn có thể làm
Giá trị Không Xác Định (Undefined)
Cung cấp cho bạn một giá trị không được xác định.
let giaTriChuaXacDinh: undefined = undefined; //Đây là tất cả những gì bạn có thể làm
Các Tính Năng Bổ Sung
TypeScript mang đến cho bạn một số tính năng và kiểu dữ liệu bổ sung, giúp bạn thực hiện nhiều tác vụ hơn so với JavaScript
Tuple
Tuple là một loại mảng đặc biệt mà bạn khai báo với một số lượng phần tử cố định. Mỗi phần tử trong tuple có thể có kiểu dữ liệu khác nhau, nhưng phải tuân theo thứ tự đã khai báo.
let myTuple: [number,string];
myTuple = [45, 'Xin chào'];
myTuple = ['Xin chào', 45]; // Lỗi
Loại Dữ Liệu Enum
Loại dữ liệu Enum là một kiểu đặc biệt gán các giá trị số cho một chuỗi.
enum Màu { Đỏ, Xanh, Xanh dương }
Trong enum này, Đỏ được gán giá trị 0, Xanh là 1 và Xanh dương là 2. Enums được lập chỉ mục bắt đầu từ 0 tương tự như các mảng trong JavaScript.
Các lớp đối tượng
Các lớp đối tượng, giao diện và kế thừa cũng được hỗ trợ trong TypeScript
JavaScript không có một hệ thống lớp thực sự để lập trình hướng đối tượng. JavaScript sử dụng một hệ thống nguyên mẫu tương tự, nhưng không hoàn toàn giống nhau
Bạn có thể tạo một lớp với các constructor:
class SinhVien {
Ten: string; constructor(ho,tenDem,ten) {
this.Ten = ho + ' ' + tenDem + ' ' + ten; }
}
let sinhVienMoi = new SinhVien('John', 'Leonard','Smith');
Bạn có thể tạo một giao diện và sử dụng nó như một type
interface Nguoi {
tenNguoi: string;
function sayHello(nguoi: Nguoi) {
return 'Xin chào ' + nguoi.tenNguoi;
}
Hàm
TypeScript cũng khai báo các kiểu dữ liệu trong các hàm.
function congSo(so1: number, so2: number) {
return so1 + so2;
}
Bạn cũng có thể sử dụng các tham số mặc định trong hàm của mình. Việc này hữu ích khi bạn muốn đặt một giá trị trong tham số khi hàm chạy mà không có đối số.
function congHaiSo(so1: number, so2 = 15) {
return so1 + so2;
}
congHaiSo(5,5); // Kết quả là 10
congHaiSo(5); // Kết quả là 20. Không có giá trị thứ hai, nên tham số mặc định của 15 được sử dụng
Trình biên dịch TypeScript giúp kiểm tra mã
JavaScript chạy trong trình duyệt web tốt vì nó đơn giản.
TypeScript sử dụng trình biên dịch để dịch mã thành tệp JavaScript. Nhờ đó, nó giúp bạn kiểm tra mã của mình khi viết. Khi bạn chạy tệp TypeScript trong IDE, nó sẽ gắn cờ lỗi nếu phát hiện.
Việc giảm những lỗi này trong IDE sẽ giúp code của bạn sạch hơn. Khi biên dịch thành JavaScript đơn giản, mã của bạn đã được kiểm tra độ chính xác về loại. Trình biên dịch TypeScript có thể được tùy chỉnh theo sở thích lập trình của mỗi người.
Mã nguồn mở
TypeScript là mã nguồn mở và được tạo bởi Microsoft. Những phần mềm mã nguồn mở mang lại nhiều lợi ích bởi cộng đồng nhà phát triển sẽ liên tục làm việc để giải quyết bất kỳ lỗi nào hoặc thêm cho nó tính năng mới.
TypeScript hoạt động tốt với Visual Studio và Visual Studio Code. Visual Studio Code là một lựa chọn hàng đầu để làm việc với JavaScript. Vì thế, hãy cân nhắc sử dụng nó.
Làm việc với các Frameworks Web khác nhau
Bởi vì JavaScript là trụ cột trong phát triển web, có một loạt các Frameworks Web phổ biến.
TypeScript không hạn chế bạn khỏi việc sử dụng các Frameworks Web quan trọng này. Nó tương thích với React, Angular, Express, Babel, Vue.js, ASP.NET Core và React Native.
Phát triển web và JavaScript
TypeScript được thiết kế để giúp những lập trình viên JavaScript xây dựng ứng dụng và trang web một cách thuận lợi hơn. Điều quan trọng là bạn cần có kiến thức vững chắc về JavaScript và hiểu rõ cách nó hoạt động trước khi chuyển sang TypeScript.