Định nghĩa một interface

Một trong những lợi ích sử dụng TypeScript là strong typing. Mọi thuộc tính đều xác định một kiểu dữ liệu, mỗi phương thức cũng đều trả về một kiểu dữ liệu, những tham số truyền vào phương thức cũng vậy. Việc áp dụng strong typing giúp giảm thiểu các lỗi thông qua việc kiểm tra cú pháp.

../../../../../Desktop/Screen%20Shot%202017-05-10%20at%2012.02.56%

Trong ví dụ trên, chúng ta thấy products là một trường hợp đặc biệt sử dụng kiểu dữ liệu any (bất kỳ). Điều này phủ nhận lợi ích của strong typing. Do đó để xác định một kiểu dự liệu tùy chỉnh, chúng ta cần định nghĩa một interface.

  • Một interface là một đặc tả xác định những thuộc tính và phương thức có liên quan.

  • Một class cam kết hỗ trợ các đặc tả bằng cách implementing các interface.

  • Chúng ta sử dụng interface như một kiểu dữ liệu.

Mặc dù ES5 và ES 2015 không hỗ trợ interface nhưng TypeScript đã làm điều đó, nên bạn không cần quá bận tâm. Hơn nữa interface sẽ không xuất hiện trong đoạn mã Javascript sau khi build. Điều này cũng có nghĩa rằng interface chỉ phục vụ cho thời điểm phát triển. Mục đích của chúng là cung cấp strong typing, hỗ trợ công cụ tốt hơn khi xây dựng, gỡ rối, và bảo trì code của chúng ta. Dưới đây là một ví dụ về TypeScript Interface.

../../../../../Desktop/Screen%20Shot%202017-05-30%20at%203.54.47%

Chúng ta định nghĩa một interface bằng từ khoá “interface”, theo sau đó là tên của interface. Theo quy ước đặt tên, interface có tiền tố là “I” ở ví dụ của chúng ta là IProduct, điều này rất nhiều nhà phát triển thường hay bỏ qua. Từ khoá export ở đầu tiên để khai báo interface này đã sẵn sàng sử dụng ở bất cứ nơi nào trong ứng dụng.

Để sử dụng interface này như một kiểu dữ liệu, chúng ta import interface này, sau đó có thể sử dụng interface như một kiểu dữ liệu. Trông sẽ dễ dàng như đoạn ví dụ dưới đây.

../../../../../Desktop/Screen%20Shot%202017-05-30%20at%204.04.45%

Last updated