TypeScrip là gì và tại sao các nhà lập trình nên thử nó?
JavaScript là một ngôn ngữ lập trình độc đáo. Nó được xây dựng để phát triển web và có các quy tắc khác với các ngôn ngữ lập trình khác.
Một trong những khác biệt đáng chú ý là JavaScript là ngôn ngữ gõ động, nghĩa là bạn không phải khai báo các kiểu khi tạo biến. Những ngôn ngữ như C, C# và Java yêu cầu bạn khai báo các kiểu biến. Chúng được gọi là biến gõ tĩnh.
Những ngôn ngữ sử dụng biến gõ tính mang lại sự ổn định hơn và giảm lỗi trong mã. TypeScript có nhiệm vụ thu hẹp khoảng cách giữa JavaScript và các quy tắc lập trình truyền thống.
Kiểu biến là gì?
Kiểu biến là thông tin bạn dự định lưu trữ trong biến.
Ví dụ một biến Java
int myNumber = 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 myNumber dự định lưu trữ một số nguyên. Nếu bạn cố lưu trữ một giá trị khác trong biến (chẳng hạn như một chuỗi ký tự) thì chương trình sẽ không chạy.
Dưới đây là một số biến khác mà bạn có thể sử dụng:
- int—regular numbers (các số là ước của 60).
- float— dạng thập phân.
- char—các ký tự đơn như ‘x’ hoặc ‘a’.
- string—một chuỗi ký tự như “Hello” và “This is a string”
- boolean— giá trị đúng hoặc sai.
JavaScript không yêu cầu bạn khai báo các kiểu biến. Nó cho bạn tự do hơn nhưng cũng có thể dẫn đến một số thói quen xấu. Đó là lúc TypeScript giúp cho công việc của bạn dễ dàng hơn.
TypeScript là gì?
TypeScript có thể được coi là phiên bản nâng cao 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ữ hoàn toàn mới.
Để thấy mức độ giống nhau của chúng, bạn hãy xem một dòng mã trong JavaScript và TypeScript
JavaScript:
let myNumber = 10;
TypeScript:
let myNumber: number = 10;
Khi bạn khai báo một biến trong TypeScript, bạn khai báo kiểu của nó cùng lúc. Thay đổi nhỏ này nhưng lại có khác biệt lớn. TypeScript là ngôn ngữ lập trình biên dịch, không giống như JavaScript chạy trong trình duyệt. Ngôn ngữ biên dịch có thể nhanh hơn và giúp các chương trình chạy hiệu quả hơn.
Hướng dẫn cài đặt TypeScript
- Thông qua trình quản lý gói Node.js (NPM).
- Cài đặt plugin TypeScript từ Visual Studio.
Cài đặt với NPM rất dễ dàng với dòng lệnh:
> npm install -g typescript
Nếu sử dụng Visual Studio 2017 hoặc Visual Studio 2015 Update 3, bạn đã có TypeScript đi kèm.
Những lợi ích khi sử dụng TypeScript
Đây là những lý do mà các nhà phát triển web nên thử sử dụng TypeScript
Các kiểu biến
TypeScript cho phép bạn gán kiểu cho các biến trong mã của mình. Việc này sẽ giúp bạn trở thành một coder tốt hơn. Nó buộc người dùng phải suy nghĩ qua mọi biến mình viết khi lên kế hoạch cho ứng dụng của mình. Nhờ đó, tránh được các lỗi trong mã, giúp ứng dụng dễ độc và việc kiểm tra code cũng dễ dàng hơn.
TypeScript cung cấp cho bạn rất nhiều tùy chọn để tạo các biến
Số (Number)
let myNumber: number = 10;
Chuỗi (String)
let myString: string = "TypeScript";
Các biến Boolean
let myBoolean: boolean = true;
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 myArray: number [] = [1,2,3];
Bất kỳ (any)
Kiểu biến này được sử 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.
let anyType: any = 10;
anyType = "Hello"; //No error
anyType = true; //Still no error
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.
function randomMessage(): void { Console.log("This is just a message"); }
Null (vô giá trị)
Nó cung cấp cho bạn một giá trị không có hiệu lực.
let myNull: null = null; //This is all you can do
Không xác định (Undefined)
Cung cấp cho bạn một giá trị không xác định.
let myUndefined: undefined = undefined; //This is all you can do
Các tính năng bổ sung
TypeScript cung cấp cho bạn thêm một số tính năng và kiểu, cho phép bạn làm được nhiều thứ hơn so với JavaScript
Tuple
Tuple là một mảng đặc biệt mà bạn khai báo với một số lượng phần tử cố định. Các phần tử này có thể có các kiểu khác nhau, nhưng bộ dữ liệu phải bám vào các kiểu theo thứ tự mà bạn khai báo.
let myTuple: [number,string];
myTuple = [45, "Hello"];
myTuple = ["Hello", 45]; // Error
Enum types
Enum types là một kiểu đặc biệt gán các giá trị số cho một chuỗi.
enum Color { Red, Green, Blue }
Trong enum này, Red được gán giá trị 0, Green là 1 và Blue là 2. Enums được lập chỉ mục bằng 0 giống như các mảng trong JavaScript.
Object classes
Các lớp đối tượng, giao diện và tính 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 Student {
Name: string; constructor(first,middle,last) {
this.Name = first + " " + middle + " " + last; }
}
let newStudent = new Student("John", "Leonard","Smith");
Bạn có thể tạo một giao diện và sử dụng nó như một type
interface Person {
personName: string;
function sayHello(person: Person) {
return "Hello " + person.personName;
}
Functions (Hàm)
TypeScript cũng khai báo các kiểu dữ liệu trong các hàm.
function addNum(num1: number, num2: number) {
return num1 + num2;
}
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 addNums(num1: number, num2 = 15) {
return num1 + num2;
}
addNums(5,5); // This will return 10
addNums(5); // This will return 20. There was no second value, so the default parameter of 15 is used
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 Web Frameworks khác nhau
Vì JavaScript là vua trong lĩnh vực phát triển web nên có rất nhiều Web Frameworks. Nhiều trong số đó rất phổ biến.
TypeScript không ngăn cản bạn sử dụng các Web Frameworks hữu ích 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 tạo để giúp các nhà lập trình JavaScript phát triển ứng dụng và web dễ dàng hơn. Điều quan trọng là bạn phải có nền tảng JavaScript vững chắc và hiểu rõ cách thức hoạt động của nó trước khi đi sâu vào TypeScript.