Mục lục[Ẩn giấu][Chỉ]
- 1. TypeScript chính xác là gì, và nó khác với JavaScript như thế nào?
- 2. Một số tính năng đáng chú ý của TypeScript là gì?
- 3. Một số lợi ích của việc sử dụng TypeScript là gì?
- 4. Một số hạn chế của việc sử dụng TypeScript là gì?
- 5. Chính xác thì các thành phần của TypeScript là gì?
- 6. Bạn có thể giải thích các giao diện trong TypeScript không?
- 7. Các biến trong TypeScript là gì và chúng được khai báo theo nhiều cách khác nhau như thế nào?
- 8. Làm thế nào để một tập hợp con của giao diện có thể được sử dụng để tạo một kiểu mới?
- 9. Bạn nghĩ gì về loại 'bất kỳ', và khi nào tôi nên sử dụng chúng?
- 10. TypeScript là một ngôn ngữ với cú pháp được gõ tĩnh tùy chọn như thế nào?
- 11. Trong TypeScript, mô-đun có nghĩa là gì?
- 12. Làm thế nào để “enums” hoạt động trong TypeScript?
- 13. Điều gì phân biệt mô-đun bên trong với mô-đun bên ngoài?
- 14. Chức năng Ẩn danh của TypeScript nghĩa là gì?
- 15. Trong TypeScript, không gian tên là gì và bạn khai báo không gian tên như thế nào?
- 16. TypeScript hỗ trợ những công cụ sửa đổi truy cập nào?
- 17. TypeScript có cho phép nạp chồng hàm không?
- 18. TypeScript cho phép các đối số tùy chọn trong các hàm như thế nào?
- 19. Làm thế nào để var, let và const khác nhau?
- 20. Trong TypeScript, mô tả decorator?
- 21. Trong TypeScript, Mixins có nghĩa là gì?
- 22. Chính xác thì Type Aliases trong TypeScript là gì?
- 23. Thuật ngữ “Biến phạm vi” có nghĩa là gì?
- 24. Chính xác thì noImplicitAny được sử dụng để làm gì?
- 25. Các kiểu liên hợp và giao điểm khác nhau như thế nào?
- 26. Làm thế nào để bạn xác định một Từ khoá Khai báo TypeScript?
- 27. Trong TypeScript, generic là gì?
- 28. JSX có nghĩa là gì trong TypeScript?
- 29. Môi trường TypeScript là gì và khi nào tôi nên sử dụng chúng?
- 30. Ý bạn là gì về lớp trừu tượng trong TypeScript?
- 31. Tệp Bản đồ TypeScript chính xác là gì?
- 32. Trong TypeScript, khẳng định kiểu là gì?
- Kết luận
Microsoft đã phát triển và tiếp tục hỗ trợ ngôn ngữ lập trình TypeScript. Với việc bổ sung tính năng nhập tĩnh như một tùy chọn, nó là một tập hợp siêu cú pháp của JavaScript.
Ngôn ngữ phát triển ứng dụng quy mô lớn TypeScript biên dịch JavaScript. Vì TypeScript là một tập hợp siêu JavaScript nên các chương trình được viết bằng JavaScript cũng hợp lệ trong TypeScript.
Dưới đây là danh sách đầy đủ các câu hỏi và câu trả lời phỏng vấn nhà phát triển TypeScript điển hình nhất trong trường hợp bạn đang tham dự.
1. TypeScript chính xác là gì, và nó khác với JavaScript như thế nào?
Một tập hợp siêu JavaScript, TypeScript biên dịch sang JavaScript tiêu chuẩn. Từ quan điểm khái niệm, TypeScript và JavaScript tương tự như SASS và CSS.
Nói cách khác, TypeScript là JavaScript ES6 với một vài khả năng hơn. JavaScript là một ngôn ngữ kịch bản gần giống với Python, trong khi TypeScript là một ngôn ngữ hướng đối tượng, được định kiểu tĩnh có thể so sánh với Java và C #.
Các lớp và giao diện đều là một phần của thiết kế hướng đối tượng của TypeScript và suy luận kiểu là một trong nhiều công cụ có sẵn nhờ vào kiểu gõ tĩnh của nó.
JavaScript được viết trong tệp có phần mở rộng .js, trong khi TypeScript được viết trong tệp có phần mở rộng .ts.
Trái ngược với JavaScript, mã TypeScript không thể chạy trực tiếp trong trình duyệt hoặc trên bất kỳ nền tảng nào khác và không được trình duyệt hiểu. Nền tảng đích sau đó sẽ chạy JavaScript thuần túy được tạo từ các tệp .ts bằng cách sử dụng trình chuyển tiếp của TypeScript.
2. Một số tính năng đáng chú ý của TypeScript là gì?
- Nhập tĩnh là một tính năng của TypeScript hỗ trợ kiểm tra kiểu trong quá trình biên dịch. Vì vậy, ngay cả khi không thực thi tập lệnh, bạn có thể phát hiện ra những sai sót trong mã khi bạn viết nó.
- DOM có thể được thay đổi bằng cách sử dụng TypeScript để thêm hoặc bớt các mục.
- Bất kỳ Hệ điều hành nào, bao gồm Windows, macOS và Linux, đều có thể cài đặt trình biên dịch TypeScript.
- Các lớp, giao diện và mô-đun là một số chức năng được cung cấp bởi TypeScript. Do đó, nó có thể tạo mã hướng đối tượng để phát triển cả phía máy khách và phía máy chủ.
- Phần lớn các tính năng của ECMAScript 2015 (ES 6, 7) đã được bao gồm trong TypeScript, bao gồm lớp, giao diện, các hàm Arrow, v.v.
- Nếu bạn đang sử dụng kiểu gõ động của JavaScript, TypeScript cũng hỗ trợ kiểu gõ tĩnh tùy chọn.
3. Một số lợi ích của việc sử dụng TypeScript là gì?
- Bất kỳ công cụ hoặc trình duyệt JavaScript nào cũng có thể thực thi TypeScript vì nó nhanh chóng, dễ học và chạy nhanh.
- Nó chia sẻ cú pháp và ngữ nghĩa giống như JavaScript.
- Điều này tạo điều kiện cho các nhà phát triển phụ trợ viết mã front-end nhanh hơn.
- Nó kết hợp các khả năng ES6 và ES7 có thể hàm trong JavaScript Các công cụ ES5 như Node.js.
- Các thư viện JavaScript hiện có như Jquery, D3.js, v.v. được hỗ trợ thông qua tệp Định nghĩa, có phần mở rộng là.d.ts.
- Tập lệnh JavaScript đã tồn tại có thể gọi mã TypeScript. Nó cũng tích hợp liền mạch với các khung và thư viện JavaScript hiện tại.
4. Một số hạn chế của việc sử dụng TypeScript là gì?
- Việc viết mã bằng TypeScript yêu cầu một quá trình biên dịch kéo dài.
- Nó không hỗ trợ các lớp trừu tượng.
- Chất lượng của tệp định nghĩa loại là một vấn đề.
- Bất kỳ thư viện của bên thứ ba nào cũng phải có tệp định nghĩa để được sử dụng.
- Một bước biên dịch là cần thiết để chuyển TypeScript thành JavaScript nếu chúng ta muốn chạy ứng dụng TypeScript trong trình duyệt.
- JavaScript đã được các nhà phát triển web sử dụng trong nhiều năm và TypeScript không cung cấp bất cứ điều gì mới.
5. Chính xác thì các thành phần của TypeScript là gì?
Trong TypeScript, có ba loại thành phần chính, bao gồm:
- Ngôn ngữ: Nó bao gồm các chú thích cho loại, từ khóa và cú pháp.
- Trình biên dịch TypeScript: Các hướng dẫn TypeScript được dịch sang JavaScript bởi trình biên dịch này (tsc).
- Dịch vụ ngôn ngữ TypeScript: Dịch vụ ngôn ngữ cung cấp các ứng dụng giống như trình soạn thảo như một lớp thứ hai trên đầu quy trình biên dịch cơ bản. Bộ tiêu chuẩn của các thao tác chỉnh sửa thông thường được hỗ trợ bởi dịch vụ ngôn ngữ.
6. Bạn có thể giải thích các giao diện trong TypeScript không?
TypeScript sử dụng các giao diện để chỉ định cú pháp của các thực thể. Nói cách khác, các dạng dữ liệu như các đối tượng hoặc một mảng các mục có thể được mô tả bằng cách sử dụng các giao diện. Từ khóa giao diện, tên giao diện và định nghĩa của nó được sử dụng để khai báo các giao diện. Hãy xem xét giao diện cơ bản của một đối tượng người dùng.
Sau đó, kiểu của một biến có thể được đặt bằng giao diện (tương tự như cách bạn gán các kiểu nguyên thủy cho một biến). Các thuộc tính của giao diện sau đó sẽ được đáp ứng bởi một biến của Kiểu người dùng.
Dự án TypeScript của bạn được hưởng lợi từ các giao diện vì chúng cung cấp tính đồng nhất. Ngoài ra, các giao diện nâng cao các công cụ của dự án của bạn bằng cách nâng cao khả năng tự động hoàn thành của IDE và đảm bảo rằng các giá trị phù hợp đang được cung cấp cho các trình xây dựng và phương pháp.
7. Các biến trong TypeScript là gì và chúng được khai báo theo nhiều cách khác nhau như thế nào?
Một biến là một vùng bộ nhớ được chỉ định cụ thể được sử dụng để lưu giữ các giá trị. Dấu hai chấm (:) được đặt sau tên biến và theo sau là kiểu khi khai báo một biến trong TypeScript. Chúng tôi khai báo các biến với từ khóa var, giống như trong JavaScript.
Một số nguyên tắc nhất định phải được tuân thủ khi khai báo một biến trong Typecript:
- Tên không được bắt đầu bằng số.
- Tên biến phải chứa các chữ cái hoặc số.
- Biểu tượng đô la ($) và dấu gạch dưới (_) là các ký tự đặc biệt duy nhất được phép trong trường này.
8. Làm thế nào để một tập hợp con của giao diện có thể được sử dụng để tạo một kiểu mới?
Bằng cách cung cấp một kiểu hoặc giao diện hiện có và chọn các phím được loại trừ khỏi kiểu mới, bạn có thể tạo một kiểu mới trong TypeScript bằng cách sử dụng loại bỏ kiểu tiện ích.
Ví dụ sau minh họa cách tạo một kiểu mới được gọi là UserPreview dựa trên giao diện Người dùng nhưng loại trừ thuộc tính email.
9. Bạn nghĩ gì về loại 'bất kỳ', và khi nào tôi nên sử dụng chúng?
Đôi khi bạn cần lưu một giá trị trong một biến, nhưng bạn không chắc chắn về loại của biến trước đó. Ví dụ: giá trị có thể bắt nguồn từ đầu vào của người dùng hoặc một yêu cầu API. Bạn có thể cung cấp bất kỳ loại giá trị nào cho một kiểu biến bằng cách sử dụng kiểu “bất kỳ”.
Khi kiểu của một biến không được chỉ định rõ ràng và trình biên dịch không thể xác định nó từ ngữ cảnh, TypeScript tin rằng biến thuộc loại bất kỳ.
10. TypeScript là một ngôn ngữ với cú pháp được gõ tĩnh tùy chọn như thế nào?
Có thể hướng dẫn trình biên dịch bỏ qua kiểu của một biến trong TypeScript vì nó được nhập tĩnh theo tùy chọn. Bất kỳ kiểu dữ liệu nào cũng có thể được sử dụng để gán bất kỳ loại giá trị nào cho biến. Khi được biên dịch, TypeScript sẽ không cung cấp bất kỳ kiểm tra lỗi nào.
11. Trong TypeScript, mô-đun có nghĩa là gì?
Sẽ hiệu quả khi nhóm các biến, hàm, lớp, giao diện, v.v. có liên quan lại với nhau bằng cách sử dụng các mô-đun. Nó có thể được sử dụng, nhưng không được sử dụng trong phạm vi toàn cục, chỉ trong phạm vi riêng của nó.
Về bản chất, các biến, hàm, lớp và giao diện được xác định của một mô-đun không thể được truy cập trực tiếp từ bên ngoài mô-đun.
Từ khóa export có thể được sử dụng để xây dựng một mô-đun, trong khi từ khóa import có thể được sử dụng để đưa một mô-đun vào một mô-đun khác.
12. Làm thế nào để “enums” hoạt động trong TypeScript?
Một phương pháp xác định một tập hợp các hằng số được đặt tên là sử dụng các kiểu liệt kê hoặc kiểu liệt kê. Các cấu trúc dữ liệu này có độ dài cố định và tập hợp các giá trị cố định.
Khi biểu diễn một tập hợp các lựa chọn thay thế cho một giá trị nhất định trong TypeScript, enums thường được sử dụng để mô tả các khả năng sử dụng một tập hợp các cặp khóa / giá trị.
Hãy xem minh họa về một enum được sử dụng để cung cấp nhiều loại người dùng khác nhau.
Enums được chuyển đổi nội bộ thành các đối tượng JavaScript thông thường bằng TypeScript sau khi biên dịch. Do đó, việc sử dụng enums được ưu tiên hơn việc sử dụng một số biến const riêng biệt.
Mã của bạn thuộc loại an toàn và dễ hiểu hơn do cách nhóm mà enums cung cấp.
13. Điều gì phân biệt mô-đun bên trong với mô-đun bên ngoài?
Mô-đun nội bộ:
- Các mô-đun bên trong là một tính năng của lần lặp trước đây của Typescript.
- Tên và nội dung của các mô-đun bên trong được xác định bằng cách sử dụng Khai báo Mô-đun.
- Đây là các thành viên của các mô-đun khác là cục bộ hoặc được xuất khẩu.
- Các lớp, giao diện, hàm và biến được nhóm lại với nhau trong các mô-đun nội bộ, có thể được xuất sang một mô-đun khác.
Mô-đun bên ngoài:
- Trong phiên bản gần đây nhất, mô-đun bên ngoài được gọi là mô-đun.
- Tệp nguồn riêng biệt được gọi là mô-đun bên ngoài được sử dụng để tạo chúng và mỗi tệp có ít nhất một khai báo nhập hoặc xuất.
- Trong phiên bản gần đây nhất, mô-đun bên ngoài được gọi là mô-đun.
- Các câu lệnh bên trong của các định nghĩa mô-đun có thể được ẩn bằng cách sử dụng các mô-đun bên ngoài, chỉ để lại các phương thức và đối số được kết nối với biến đã xác định là hiển thị.
14. Chức năng Ẩn danh của TypeScript nghĩa là gì?
Các hàm được phân loại là ẩn danh thiếu tên hàm làm định danh. Các quy trình này được xác định động trong thời gian chạy. Giống như các hàm thông thường, các hàm ẩn danh có thể nhận đầu vào và tạo ra kết quả.
Một chức năng ẩn danh thường không thể truy cập được sau khi nó đã được tạo. Các biến có thể được gán cho một hàm ẩn danh.
15. Trong TypeScript, không gian tên là gì và bạn khai báo không gian tên như thế nào?
Không gian tên nhóm các chức năng một cách hợp lý. Những điều này bảo tồn nội bộ mã kế thừa bảng chữ. Nó bao gồm các đặc điểm và những thứ có mối liên hệ cụ thể.
Một tên khác của không gian tên là một mô-đun nội bộ. Tất cả các giao diện, lớp, hàm và biến đều có thể được đưa vào một không gian tên để cung cấp một tập hợp các chức năng được kết nối.
16. TypeScript hỗ trợ những công cụ sửa đổi truy cập nào?
Sau đây là các ví dụ về cách các công cụ sửa đổi quyền truy cập công khai, riêng tư và được bảo vệ trong TypeScript có thể được sử dụng để kiểm soát khả năng truy cập của thành viên lớp:
- Công khai - Quyền truy cập có sẵn cho mọi thành viên của lớp, tất cả các lớp con của nó và mọi thể hiện của lớp.
- Được bảo vệ - Chúng có thể truy cập được đối với mọi thành viên của lớp và tất cả các lớp con của nó. Tuy nhiên, một cá thể lớp không thể truy cập.
- Riêng-Quyền truy cập vào chúng chỉ được giới hạn cho các thành viên trong lớp.
Vì JavaScript rất tiện dụng, nên nếu không có công cụ sửa đổi quyền truy cập, nó sẽ được coi là công khai.
17. TypeScript có cho phép nạp chồng hàm không?
Có, tính năng nạp chồng hàm được hỗ trợ bởi TypeScript. Nhưng bây giờ nó đang được thực hiện là một điều kỳ lạ. Do đó, khi nạp chồng với TypeScript, chỉ có một cách triển khai với nhiều loại chữ ký.
Trong khi chữ ký thứ hai chứa một tham số kiểu văn bản, chữ ký đầu tiên chỉ có một tham số kiểu số. Hàm thứ ba, bao gồm một đối số kiểu bất kỳ, chứa việc triển khai thực tế.
Việc triển khai sau đó xác định loại tham số được cung cấp và chạy một phần mã riêng phù hợp với xác định đó.
18. TypeScript cho phép các đối số tùy chọn trong các hàm như thế nào?
Trái ngược với JavaScript, nếu bạn cố gắng gọi một hàm mà không chỉ định số lượng và loại tham số chính xác như đã nêu trong chữ ký hàm của nó, trình biên dịch TypeScript sẽ phát sinh lỗi.
Bạn có thể sử dụng các tham số tùy chọn bằng cách sử dụng biểu tượng dấu chấm hỏi ('?') Để giải quyết vấn đề này. Nó cho thấy rằng các tham số tùy chọn có thể được biểu thị bằng cách thêm dấu “?” cho những người có thể nhận hoặc không thể nhận một giá trị.
19. Làm thế nào để var, let và const khác nhau?
Ba cách khác nhau để khai báo một biến được cung cấp bởi TypeScript, mỗi cách đều có một ứng dụng được đề xuất.
là: Khai báo một biến phạm vi toàn cục hoặc phạm vi chức năng với các nguyên tắc về hành vi và phạm vi của biến var của JavaScript. Các biến không cần đặt giá trị của chúng khi chúng được khai báo.
để cho: khai báo một biến khối có phạm vi cục bộ. Cho phép các biến không cần đặt giá trị của biến khi chúng được khai báo. Thuật ngữ "biến cục bộ phạm vi khối" đề cập đến một biến chỉ có thể được truy cập từ bên trong khối mà nó được chứa, chẳng hạn như một hàm, một khối if / else hoặc một vòng lặp. Biến let không thể được đọc từ hoặc ghi vào trước khi chúng được khai báo, ngược lại với var.
const: Khai báo giá trị cho một hằng số phạm vi khối không thể thay đổi sau khi nó đã được khởi tạo. Biến Const cần được khởi tạo trước khi khai báo. Đối với các biến không đổi trong toàn bộ sự tồn tại của chúng, điều này là tối ưu.
20. Trong TypeScript, mô tả decorator?
Một trình truy cập, thuộc tính, tham số, lớp, hàm hoặc trình trang trí đều có thể được khai báo theo một cách cụ thể dưới dạng trình trang trí. Trình trang trí là các hàm có tiền tố @expression sẽ được gọi trong thời gian chạy với các chi tiết về khai báo được trang trí.
Biểu thức phải đánh giá một hàm để trình trang trí hoạt động.
Trình trang trí TypeScript cung cấp mục tiêu thêm các chú thích và thông tin một cách khai báo vào mã hiện tại.
Trong tệp tsconfig.json của chúng tôi hoặc trên dòng lệnh, bạn phải kích hoạt tùy chọn trình biên dịch ExperimentsDecorators để bật hỗ trợ thử nghiệm cho trình trang trí:
21. Trong TypeScript, Mixins có nghĩa là gì?
Mixin là một kỹ thuật tạo các lớp từ các phần có thể sử dụng lại trong Javascript và trộn các lớp từng phần để tạo ra các lớp đầy đủ phức tạp hơn.
Khái niệm rất đơn giản: hàm B chấp nhận lớp A và trả về một lớp mới với chức năng được thêm vào, trái ngược với lớp A mở rộng lớp B để có được chức năng của nó. Hàm B trong trường hợp này là một mixin.
22. Chính xác thì Type Aliases trong TypeScript là gì?
Loại bí danh thay đổi tên của một loại. Loại bí danh, như giao diện, có thể được sử dụng để đặt tên cho các loại nguyên thủy, hợp nhất, bộ giá trị và bất kỳ loại nào khác mà nếu không sẽ phải xác định bằng tay.
Bí danh không tạo ra một kiểu mới; thay vào đó, nó thay đổi tên của một loại hiện có. Đặt tên cho người nguyên thủy không thực sự thiết thực, mặc dù nó có thể có lợi cho việc lập hồ sơ.
Loại bí danh, giống như giao diện, có thể phổ biến; tất cả những gì bạn phải làm là thêm các tham số kiểu và sử dụng chúng ở phía bên phải của khai báo bí danh.
23. Thuật ngữ “Biến phạm vi” có nghĩa là gì?
JavaScript hỗ trợ cả biến phạm vi cục bộ và toàn cầu. Phạm vi là một tập hợp các đối tượng, biến và hàm.
Ví dụ về việc khai báo một biến trong hai phạm vi là:
- Biến với Phạm vi cục bộ - Nó phục vụ như một đối tượng hàm để sử dụng trong các hàm.
- Biến với phạm vi toàn cục - Đối tượng cửa sổ này có thể được sử dụng cả bên trong và bên ngoài các hàm
24. Chính xác thì noImplicitAny được sử dụng để làm gì?
Việc xử lý ngầm định của trình biên dịch TypeScript đối với bất kỳ kiểu nào của dự án sẽ bị thay đổi bởi thuộc tính noImplicitAny trong tệp cấu hình tsconfig.json cho các dự án TypeScript.
Cờ noImplicitAny có thể được đặt thành true hoặc false và luôn có thể thay đổi sau khi khởi tạo. Cho rằng mọi dự án là duy nhất, không có câu trả lời đúng hay sai về con số này.
Hiểu được sự khác biệt giữa trạng thái bật và tắt của cờ có thể giúp bạn chọn cài đặt nào sẽ sử dụng cho cờ.
Trình biên dịch không xác định loại biến dựa trên cách nó được sử dụng nếu cờ noImplicitAny được đặt thành false (mặc định). Thay vào đó, kiểu được đặt thành bất kỳ theo mặc định bởi trình biên dịch.
Tuy nhiên, nếu tùy chọn noImplicitAny được đặt thành true, trình biên dịch sẽ cố gắng suy ra kiểu và sẽ phát sinh lỗi thời gian biên dịch nếu không thể làm như vậy.
25. Các kiểu liên hợp và giao điểm khác nhau như thế nào?
Thay vì tạo ra các loại mới từ đầu, các loại kết hợp và giao điểm cho phép bạn soạn và kết hợp các loại hiện có. Cả liên hợp và giao điểm đều có những phẩm chất đặc biệt khiến chúng trở nên hoàn hảo cho một số trường hợp sử dụng nhất định.
Một kiểu có thể là một trong nhiều kiểu được gọi là kiểu liên hợp. Danh sách các kiểu sẽ được sử dụng trong kiểu mới được phân chia bằng cách sử dụng dấu | (thanh dọc) ký hiệu trong các loại liên hợp.
Hãy xem một minh họa:
Mặt khác, nút giao thông được định nghĩa là loại hình gộp nhiều loại hình thành một, tích hợp tất cả các tính năng của từng loại hình để tạo thành một loại hình mới. Danh sách các loại sẽ được hợp nhất được chia thành các giao lộ bằng cách sử dụng ký hiệu &.
Hãy xem xét một minh họa:
26. Làm thế nào để bạn xác định một Từ khoá Khai báo TypeScript?
Không có tệp khai báo TypeScript nào trong các thư viện hoặc khung JavaScript. Tuy nhiên, bạn phải sử dụng từ khóa khai báo để sử dụng chúng trong tệp TypeScript mà không gặp phải bất kỳ lỗi biên dịch nào.
Khi bạn muốn chỉ định một biến đã có thể tồn tại ở một nơi khác, bạn sử dụng từ khóa khai báo trong các khai báo và phương thức môi trường xung quanh.
27. Trong TypeScript, generic là gì?
Một công cụ được gọi là TypeScript Generics cung cấp một phương pháp sản xuất các bộ phận có thể tái sử dụng. Thay vì chỉ làm việc với một dạng dữ liệu, nó có thể phát triển các thành phần có thể hoạt động với một loạt các kiểu dữ liệu.
Ngoài ra, nó cung cấp sự an toàn về kiểu dáng mà không ảnh hưởng đến hiệu quả hoặc năng suất. Chúng ta có thể xây dựng các lớp chung, hàm chung, phương thức chung và giao diện chung nhờ generic.
Generics là các tập hợp được định kiểu cao vì một tham số kiểu được viết giữa dấu ngoặc mở () và đóng (>). Nó sử dụng một loại biến kiểu duy nhất được gọi là T, viết tắt của các kiểu.
28. JSX có nghĩa là gì trong TypeScript?
JSX là một JavaScript hợp pháp có thể được chuyển đổi từ cú pháp giống như XML có thể nhúng. Cùng với React framework, JSX đã trở nên phổ biến.
TypeScript hỗ trợ việc biên dịch trực tiếp, xác minh kiểu và nhúng JSX vào JavaScript. Bạn phải cung cấp cho tệp của mình phần mở rộng a.tsx và kích hoạt tùy chọn JSX nếu bạn muốn sử dụng nó.
29. Môi trường TypeScript là gì và khi nào tôi nên sử dụng chúng?
Trình biên dịch được thông báo về mã nguồn thực sự nằm ở nơi khác thông qua khai báo môi trường xung quanh.
Nó sẽ bị hỏng mà không có bất kỳ thông báo trước nào nếu chúng tôi cố gắng sử dụng các mã nguồn này trong thời gian chạy nhưng chúng không xuất hiện. Các tệp giống như tài liệu là các tệp khai báo xung quanh.
Nếu nguồn thay đổi, tài liệu phải được cập nhật và các vấn đề về trình biên dịch sẽ xảy ra nếu tệp khai báo xung quanh không được thay đổi.
Ngoài ra, nó cho phép chúng tôi tận dụng các thư viện JavaScript nổi tiếng đã được sử dụng rộng rãi, chẳng hạn như jQuery, AngularJS, NodeJS, v.v.
30. Ý bạn là gì về lớp trừu tượng trong TypeScript?
Các lớp trừu tượng xác định hợp đồng của một đối tượng mà không cho phép khởi tạo đối tượng trực tiếp. Tuy nhiên, một lớp trừu tượng cũng có thể cung cấp thông tin triển khai của thành viên của nó.
Một hoặc nhiều thành viên trừu tượng có thể được tìm thấy trong một lớp trừu tượng. Các thành viên trừu tượng của lớp cha sau đó phải có một triển khai được cung cấp bởi bất kỳ lớp nào mở rộng lớp trừu tượng.
Hãy xem một ví dụ TypeScript về một lớp trừu tượng và cách một lớp khác có thể mở rộng nó. Mặc dù cả hai lớp Xe và Xe đạp trong ví dụ dưới đây đều mở rộng lớp Xe, mỗi lớp đều triển khai hàm drive () theo một cách riêng.
31. Tệp Bản đồ TypeScript chính xác là gì?
Tệp bản đồ nguồn được gọi là tệp Bản đồ TypeScript chứa dữ liệu về các tệp gốc của chúng tôi. Các tệp bản đồ nguồn hoặc tệp .map cho phép các công cụ ánh xạ giữa mã JavaScript được xuất ra và các tệp nguồn TypeScript đã tạo ra nó.
Ngoài ra, các tệp này có thể được sử dụng bởi trình gỡ lỗi, cho phép chúng tôi gỡ lỗi tệp TypeScript chứ không phải tệp JavaScript.
32. Trong TypeScript, khẳng định kiểu là gì?
Mặc dù xác nhận kiểu hoạt động tương tự như đánh máy trong các ngôn ngữ khác như C # và Java, nhưng nó không thực hiện xác minh kiểu hoặc sắp xếp lại dữ liệu.
Mặc dù xác nhận kiểu không ảnh hưởng đến thời gian chạy, nhưng tính năng ép kiểu cung cấp hỗ trợ này. Mặt khác, các xác nhận kiểu chỉ được trình biên dịch sử dụng và cung cấp hướng dẫn về cách chúng tôi muốn mã của mình được kiểm tra.
Kết luận
Tóm lại, chúng tôi hy vọng những câu hỏi phỏng vấn TypeScript này sẽ hữu ích cho bạn, cho dù bạn là một nhà phát triển đang chuẩn bị cho một cuộc phỏng vấn việc làm hay một người quản lý tuyển dụng đang cố gắng tìm ra ứng viên tốt nhất.
Hãy nhớ rằng quá trình tuyển dụng không chỉ liên quan đến chuyên môn kỹ thuật. Để đảm bảo rằng bạn có (hoặc tìm được ứng viên thích hợp cho) công việc, kinh nghiệm trong quá khứ và kỹ năng mềm đều quan trọng như nhau.
Rất nhiều câu hỏi phỏng vấn TypeScript được kết thúc mở và không có một câu trả lời đúng, vì vậy hãy ghi nhớ điều đó.
Người phỏng vấn quan tâm đến lý do đằng sau câu trả lời của bạn.
Luôn sẵn sàng cho các câu hỏi tiếp theo giải thích cách bạn đi đến câu trả lời của mình. Mô tả quá trình suy nghĩ của bạn.
Bình luận