2016-11-03 20 views
13

Tôi khá quen thuộc với TypeScript và gần đây đã được biết về JSX. Cả hai dường như giống với tôi. Tôi đã so sánh với JSX trên this website và họ so sánh nó với Dart và một số công nghệ khác nhưng không phải với TypeScript.TypeScript vs JSX

TypeScript và JSX xuất hiện để biên dịch sang JavaScript và cung cấp kiểu gõ và lớp tĩnh, nhưng chúng dường như là bổ sung và không phải đối thủ cạnh tranh theo một vài địa điểm trên web như TypeScript and JSX.

Tôi đang cố gắng thực hiện điều này không quá mở, vì vậy ai đó có thể cho tôi biết những tính năng mà TypeScript cung cấp mà JSX không làm và ngược lại?

+9

Bạn đang bối rối hai điều. Bài viết đầu tiên bạn liên kết là về một ngôn ngữ được gọi là 'JSX'. Bài báo là từ năm 2002, và [github of it] (https://github.com/jsx/JSX/) cũng chưa được cập nhật trong 4 năm. Bài viết thứ hai bạn liên kết là về một phần của [thư viện phản ứng facebook] (https://facebook.github.io/react/) bao gồm [cú pháp được gọi là JSX] (https://facebook.github.io/jsx /) mà có thể làm việc với typescript (nó được gọi là TSX) –

+0

Cảm ơn, mà làm rõ mọi thứ. Tôi nghĩ rằng bình luận của bạn là câu trả lời cho câu hỏi của tôi. – Eric

+0

@NitzanTomer Tôi rất vui khi đọc nhận xét của bạn. Tại sao họ phải tạo ra sự nhầm lẫn này? !! Thật là khó chịu! – Willa

Trả lời

2

So sánh hai là một chút giống như táo và cam. JSX là một ngôn ngữ và TypeScript có thể biên dịch nó. Tôi đề nghị bạn nên đọc nó ở đây: http://www.typescriptlang.org/docs/handbook/jsx.html

+0

Chắc chắn JSX và TypeScript là cả hai ngôn ngữ, cả hai đều chuyển thành Javascript? Liên kết bạn đã bao gồm dường như mô tả cách JSX có thể được nhúng _within_ Typescript và được chuyển đổi cùng với nó? –

+3

@DanKing thực sự có vẻ như câu trả lời ở trên (được chấp nhận) đã trả về phía sau. TypeScript là một ngôn ngữ mà là một cú pháp-superset của JavaScript. JSX là phần mở rộng cú pháp giống như XML của JavaScript, không phải là ngôn ngữ. –

+1

@vbguyny những gì bạn đã cung cấp vì thông tin liên quan đến việc mở rộng TypeScript và Facebook JSX không liên quan gì đến DeNA JSX. – Tek

3

Câu trả lời ban đầu là không đủ và không cập nhật với các tiêu chuẩn hiện hành.

JSX KHÔNG phải là ngôn ngữ. Nó KHÔNG GÌ NHƯNG Javascript nhưng với một phần mở rộng khác nhau. Facebook đã đưa ra phần mở rộng mới này để họ có thể phân định ranh giới việc thực thi HTML giống như XML trong JavaScript. Trong các phiên bản đầu tiên của React, phần mở rộng này là bắt buộc để viết HTML bên trong JavaScript. Tuy nhiên, hạn chế này đã được gỡ bỏ một vài năm trước đây về cơ bản có nghĩa là không có sự khác biệt nào cả trong JS và JSX. (Chỉ sử dụng phần mở rộng .js là tiêu chuẩn chuẩn hiện nay là BTW)

Đến với TypeScript, nó là một mã nguồn mở JavaScript bổ sung thêm chức năng cho JavaScript đơn giản làm cho các ứng dụng mạnh mẽ hơn. Xem video này để hiểu rõ hơn về TypeScript: https://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript

Để kết thúc, JSX = JS và không có sự so sánh giữa JSX và TypeScript.

Các vấn đề liên quan