Hướng dẫn is javascript strongly typed - javascript được gõ mạnh

TypeScript dựa trên sự phổ biến của JavaScript, nhưng thêm các tính năng để làm cho các nhà phát triển doanh nghiệp hạnh phúc và năng suất hơn

Nhà văn đóng góp, Infoworld |InfoWorld |

Hướng dẫn is javascript strongly typed - javascript được gõ mạnh
những hình ảnh đẹp

TypeScript là gì? TypeScript được xác định

TypeScript là một biến thể của ngôn ngữ lập trình JavaScript phổ biến, bổ sung một số tính năng chính rất quan trọng để phát triển doanh nghiệp. Cụ thể, TypeScript được gõ mạnh - nghĩa là các biến và các cấu trúc dữ liệu khác có thể được tuyên bố là một loại cụ thể, như chuỗi hoặc boolean, bởi người lập trình viên và TypeScript sẽ kiểm tra tính hợp lệ của các giá trị của chúng. Điều này không thể có trong JavaScript, được gõ lỏng lẻo.

Kiểu chữ mạnh mẽ đánh máy mạnh mẽ giúp có thể một số tính năng giúp các nhà phát triển hiệu quả hơn, đặc biệt là khi xử lý các cơ sở mã lớn, quy mô doanh nghiệp. TypeScript được biên dịch, thay vì được giải thích như JavaScript, có nghĩa là có thể bị lỗi trước khi thực hiện; IDE thực hiện biên dịch gia tăng nền có thể phát hiện ra các lỗi như vậy trong quá trình mã hóa.

Mặc dù sự khác biệt chính này với JavaScript, TypeScript vẫn có thể được thực thi ở bất cứ đâu JavaScript có thể chạy. Điều đó bởi vì TypeScript biên dịch không phải là thực thi nhị phân, mà là JavaScript tiêu chuẩn. Hãy để lặn xuống để tìm hiểu thêm.

TypeScript so với JavaScript & NBSP; 

TypeScript là một superset của JavaScript. Mặc dù bất kỳ mã JavaScript chính xác nào cũng là mã TypeScript chính xác, TypeScript cũng có các tính năng ngôn ngữ mà không phải là một phần của JavaScript. Tính năng nổi bật nhất duy nhất cho TypeScript nó có thể giữ. Ngoài ra, TypeScript thực hiện suy luận loại hỗ trợ và bao gồm tất cả mọi loại, điều đó có nghĩa là các biến don don phải có các loại được chỉ định rõ ràng bởi lập trình viên; nhiều hơn về điều đó trong một khoảnh khắc. & nbsp;

TypeScript cũng được thiết kế để lập trình hướng đối tượng JavaScript, không quá nhiều. Các khái niệm như kế thừa và kiểm soát truy cập không trực quan trong JavaScript rất đơn giản để thực hiện trong TypeScript. Ngoài ra, TypeScript cho phép bạn thực hiện các giao diện, một khái niệm chủ yếu là vô nghĩa trong thế giới JavaScript.

Điều đó nói rằng, không có chức năng nào mà bạn có thể viết mã trong TypeScript mà bạn cũng có thể mã hóa trong JavaScript. Điều đó bởi vì TypeScript được biên soạn theo nghĩa thông thường, ví dụ, C ++ được biên dịch thành một thực thi nhị phân có thể chạy trên phần cứng được chỉ định. Thay vào đó, trình biên dịch TypeScript chuyển mã TypeScript thành JavaScript tương đương về mặt chức năng. Bài viết này từ Sean Maxwell trên Gitconnected có một số ví dụ tuyệt vời về đoạn mã bản loại định hướng đối tượng và các tương đương JavaScript của chúng. JavaScript kết quả sau đó có thể được chạy ở bất cứ đâu, bất kỳ mã JavaScript nào cũng có thể chạy, từ trình duyệt web đến máy chủ được trang bị node.js.

Vì vậy, nếu cuối cùng, nếu cuối cùng, chỉ là một cách lạ mắt để tạo mã JavaScript, tại sao phải bận tâm với nó? Để trả lời câu hỏi đó, chúng ta cần xem xét nơi TypeScript đến từ đâu và những gì nó sử dụng cho.

TypeScript được sử dụng để làm gì?

TypeScript được phát hành dưới dạng nguồn mở vào năm 2012 sau khi được phát triển trong Microsoft. . và duy trì các sản phẩm của Microsoft trong JavaScript.

Vào thời điểm đó, Microsoft đã cố gắng mở rộng các bản đồ Bing như một đối thủ cạnh tranh với Google Maps, cũng như để cung cấp các phiên bản web của bộ văn phòng của mình và JavaScript là ngôn ngữ phát triển chính cho các nhiệm vụ. Nhưng các nhà phát triển, về bản chất, cảm thấy khó khăn khi viết các ứng dụng theo quy mô của các dịch vụ hàng đầu của Microsoft bằng cách sử dụng JavaScript. Vì vậy, họ đã phát triển TypeScript để giúp xây dựng các ứng dụng cấp doanh nghiệp dễ dàng hơn để chạy trong môi trường JavaScript. Đây là tinh thần đằng sau khẩu hiệu cho ngôn ngữ trên trang web dự án chính thức TypeScript: Java JavaScript có tỷ lệ.

Tại sao TypeScript tốt hơn cho loại công việc này so với Vanilla JavaScript? Chà, chúng ta có thể tranh luận mãi mãi về giá trị của lập trình hướng đối tượng, nhưng thực tế là nhiều nhà phát triển phần mềm làm việc trên các dự án doanh nghiệp lớn đã quen với nó và nó giúp tái sử dụng mã như các dự án có kích thước. Bạn cũng không nên bỏ qua mức độ mà công cụ có thể tăng năng suất của nhà phát triển. Như đã lưu ý, hầu hết các IDE IDES hỗ trợ biên dịch tăng dần nền, có thể phát hiện ra lỗi khi bạn làm việc. . dự án.

Nói tóm lại, TypeScript được sử dụng khi bạn muốn các tính năng và công cụ của một ngôn ngữ như Java, nhưng bạn cần mã của mình để thực thi trong môi trường JavaScript. Về lý thuyết, bạn có thể viết JavaScript tiêu chuẩn mà trình biên dịch TypeScript tự tạo ra, nhưng bạn sẽ mất nhiều thời gian hơn và cơ sở mã sẽ khó hiểu và gỡ lỗi chung hơn.

Ồ, và TypeScript có một thủ thuật gọn gàng khác: bạn có thể đặt trình biên dịch để nhắm mục tiêu một môi trường thời gian chạy JavaScript, trình duyệt hoặc thậm chí phiên bản ngôn ngữ cụ thể. Vì bất kỳ mã JavaScript được hình thành tốt nào cũng là mã bản loại ngôn ngữ.

Cài đặt TypeScript

Sẵn sàng để bắt đầu chơi với TypeScript? Cài đặt ngôn ngữ là dễ dàng. Nếu bạn đã sử dụng Node.js trên máy phát triển của mình, bạn có thể sử dụng NPM, Trình quản lý gói Node.js, để cài đặt nó. TypeScript chính thức trong 5 phút & NBSP; Hướng dẫn sẽ hướng dẫn bạn trong quá trình này.

TypeScript cũng có thể được cài đặt dưới dạng trình cắm vào IDE của bạn, điều này sẽ cung cấp cho bạn những lợi thế công cụ mà chúng tôi đã nói ở trên và cũng quan tâm đến quá trình biên dịch TypeScript với JavaScript. Do TypeScript được phát triển bởi Microsoft, nên không có gì đáng ngạc nhiên khi có các trình cắm chất lượng cao có sẵn cho Visual Studio và Visual Studio Code. Nhưng là một dự án nguồn mở, TypeScript đã được điều chỉnh ở khắp mọi nơi, từ các ID nguồn mở như Eclipse đến các biên tập viên văn bản đáng kính như VIM. Và toàn bộ dự án có thể được duyệt và tải xuống từ GitHub.

Cú pháp TypeScript

Khi TypeScript đã được cài đặt, bạn đã sẵn sàng để bắt đầu khám phá và điều đó có nghĩa là hiểu những điều cơ bản của cú pháp TypeScript. Vì JavaScript là nền tảng của TypeScript, bạn cần phải làm quen với JavaScript trước khi bạn bắt đầu. Không còn nghi ngờ gì nữa, những điểm quan tâm chính của bạn sẽ là các tính năng dành riêng cho TypeScript làm cho ngôn ngữ trở nên độc đáo; Chúng tôi sẽ chạm vào những điểm cao ở đây.

Các loại TypeScript

Rõ ràng tính năng cú pháp quan trọng nhất trong TypeScript là hệ thống loại. Ngôn ngữ hỗ trợ một số loại cơ bản:

  • Boolean: Một giá trị đúng/sai đơn giản.
  • Số: Trong TypeScript, như trong JavaScript, tất cả các số là các giá trị điểm nổi, trong đó không có số nguyên riêng biệt. TypeScript hỗ trợ các chữ thập phân, thập lục phân, nhị phân và octal.
  • Chuỗi: Một chuỗi dữ liệu văn bản. Bạn có thể sử dụng báo giá đơn hoặc đôi để bao quanh chuỗi của bạn khi đặt dữ liệu. Bạn cũng có thể sử dụng Backticks (`) để các chuỗi bao quanh với nhiều dòng và bạn có thể nhúng các biểu thức trong một chuỗi với cú pháp ${ expr }.
  • Mảng và bộ dữ liệu: Các loại này cho phép bạn lưu trữ nhiều giá trị theo một chuỗi được chỉ định. Trong một mảng, các giá trị riêng lẻ là tất cả các loại dữ liệu giống nhau, trong khi trong một tuple chúng có thể không đồng nhất. Phương thức TypeScript forEach() được sử dụng để gọi hàm trên mỗi phần tử trong một mảng.
  • Enum: Giống như loại cùng tên trong C#, enum TypeScript cho phép bạn gán tên người có thể đọc được cho một chuỗi các giá trị số.
  • Bất kỳ: Đây là một loại cho một biến trong đó bạn không nhất thiết phải biết giá trị nào sẽ kết thúc trước đó, nó có thể lấy các giá trị của nó từ đầu vào của người dùng hoặc thư viện của bên thứ ba chẳng hạn.
  • Đối tượng: Đây là loại đại diện cho bất cứ thứ gì mà không phải là loại nguyên thủy; Nó rất cần thiết cho bản chất hướng đối tượng của TypeScript.

Có hai cách khác nhau để gán một loại một cách rõ ràng cho một biến. Đầu tiên là cú pháp khung góc:

let someValue: any ="this is a string";
let strLength: number = (<string>someValue).length;

Và lần thứ hai là cú pháp as:

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

Các đoạn mã này, được lấy từ tài liệu TypeScript, tương đương về mặt chức năng. Cả hai định nghĩa someValue là một biến của loại any và gán

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
0 là giá trị của nó, sau đó định nghĩa
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
1 là một số và gán là giá trị của nó theo độ dài của nội dung của someValue.

Các loại TypeScript cũng có thể được đặt bởi suy luận. Đó là, nếu bạn đặt giá trị x thành 7 mà không cần thiết lập loại X là bao nhiêu, trình biên dịch sẽ cho rằng X nên là một số. Trong một số trường hợp, trình biên dịch có thể suy ra một loại any, mặc dù bạn có thể sử dụng các cờ biên dịch để đảm bảo rằng nó không có.

Hệ thống loại TypeScript khá phong phú và vượt ra ngoài phạm vi của bài viết này. Có một số loại nâng cao và tiện ích; Chúng bao gồm các loại liên minh, cho phép bạn xác định rằng một biến sẽ là một trong một số loại được chỉ định và các loại được ánh xạ, là loại bạn có thể tạo dựa trên một loại hiện có, trong đó bạn chuyển đổi từng thuộc tính trong cùng loại đường. Chẳng hạn, bạn có thể tạo một loại liên minh cho một biến mà bạn muốn là một số hoặc boolean, nhưng không phải là một chuỗi hoặc bất cứ thứ gì khác; Hoặc bạn có thể tạo một loại được ánh xạ đặt tất cả các phần tử trong một mảng để chỉ đọc.

Giao diện TypeScript

Giống như hầu hết các ngôn ngữ hướng đối tượng, TypeScript có giao diện, cho phép người dùng xác định các loại của riêng họ. Các giao diện thiết lập các thuộc tính mà một đối tượng có, cùng với các loại được liên kết với các thuộc tính đó. Giao diện TypeScript có thể có các thuộc tính tùy chọn. Để biết thêm về cú pháp, hãy xem tài liệu TypeScript. & nbsp;

Typcript generics

TypeScript cũng chia sẻ khái niệm về thuốc generic với các ngôn ngữ hướng đối tượng như Java và C#. . Ở đây, một ví dụ rất đơn giản từ tài liệu TypeScript. Đầu tiên, hãy xem xét chức năng này, có một đối số và sau đó trả lại ngay lập tức:

function identity(arg: any): any {
    return arg;
}

Bởi vì hàm được xác định với loại any, nó sẽ chấp nhận một đối số về bất kỳ loại nào bạn chọn để ném vào nó. Tuy nhiên, những gì nó trả về sẽ thuộc loại any. Ở đây, một phiên bản của chức năng bằng cách sử dụng thuốc generic:

function identity<T>(arg: T): T {
    return arg;
}

Mã này bao gồm biến loại

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
6, nắm bắt loại đối số đến và lưu trữ nó để sử dụng sau này.

Có rất nhiều thứ khác cho các thuốc generic, là chìa khóa để làm cho việc tái sử dụng mã trong dự án doanh nghiệp lớn. Kiểm tra tài liệu TypeScript để biết chi tiết.

Lớp TypeScript & NBSP; 

Trong lập trình hướng đối tượng, các lớp kế thừa chức năng và lần lượt đóng vai trò là khối xây dựng của các đối tượng. Theo truyền thống, JavaScript không sử dụng các lớp, thay vào đó dựa vào các chức năng và kế thừa dựa trên nguyên mẫu, nhưng khái niệm này đã được thêm vào ngôn ngữ như một phần của phiên bản ECMAScript 2015 của tiêu chuẩn. Các lớp đã là một phần của TypeScript và bây giờ TypeScript sử dụng cùng cú pháp với JavaScript. Một trong những lợi ích của trình biên dịch TypeScript là nó có thể chuyển đổi mã với các lớp JavaScript thành mã JavaScript kế thừa phù hợp với các tiêu chuẩn trước năm 2015.

Ngày mô tả ngày

Có một số phương thức và đối tượng có sẵn để nhận và đặt ngày và thời gian trong TypeScript, chủ yếu được kế thừa từ JavaScript. Javatpoint có một danh sách tốt về cách thức hoạt động của nó.

Hướng dẫn TypeScript & NBSP; 

Sẵn sàng để đi sâu hơn? Nhận được tốc độ với các hướng dẫn TypeScript này:

  • TypeScript trong 5 phút sẽ hướng dẫn bạn qua quá trình cài đặt TypeScript nếu bạn đã không có.
  • Hướng dẫn mã Visual Studio này cho thấy IDES thực sự thêm vào năng suất phát triển TypeScript của bạn.
  • Hướng dẫn TypeScript cho người mới bắt đầu: Hướng dẫn còn thiếu là một giới thiệu thực sự kỹ lưỡng sẽ hữu ích ngay cả khi bạn có kinh nghiệm JavaScript khá hạn chế.

Nếu bạn đang tìm cách tìm hiểu cách sử dụng TypeScript với React, thư viện JavaScript để xây dựng UI được phát triển bởi Facebook, hãy xem cách sử dụng TypeScript với React và Redux & NBSP; từ Ross Bulat và phần trên React và WebPack trong tài liệu TypeScript. Happy Learning! & NBSP; 

Josh Fruhlinger là một nhà văn và biên tập viên sống ở Los Angeles.

Bản quyền © 2020 IDG Communications, Inc.