2016-03-12 10 views

Trả lời

39

Từ các tài liệu nguyên cảo:

Một tuyên bố xung quanh giới thiệu một biến thành một phạm vi nguyên cảo, nhưng có không ảnh hưởng đến các chương trình JavaScript phát ra. Các lập trình viên có thể sử dụng các khai báo môi trường xung quanh để nói cho trình biên dịch TypeScript biết rằng một số thành phần khác sẽ cung cấp một biến. Ví dụ, theo mặc định trình biên dịch TypeScript sẽ in một lỗi để sử dụng các biến không xác định. Để thêm một số biến thông thường được xác định bởi trình duyệt, một lập trình viên TypeScript có thể sử dụng các khai báo môi trường xung quanh.

https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#1.1

Nói một cách đơn giản hơn một chút. Các khai báo môi trường xung quanh cho trình biên dịch TypeScript biết rằng khi JavaScript được thực thi, một cái gì đó sẽ tồn tại mà trình biên dịch TypeScript không thể nhìn thấy ngay bây giờ (Bởi vì nó không phải là TypeScript).

Hãy tưởng tượng nếu bạn đang viết mã sử dụng jQuery. Nếu bạn chỉ cần viết $() TypeScript sẽ nghĩ rằng bạn đang sử dụng biến chưa khai báo $ và sẽ phát sinh lỗi. Các khai báo môi trường như declare var $ cho trình biên dịch TS biết rằng, mặc dù $ không hiển thị với trình biên dịch, nó sẽ tồn tại khi JS được thi hành.

22

Từ cách nhập v1.0.0 bản phát hành, cụm từ không rõ ràng ambient đã là changed to global.

Bạn có thể chỉ đơn giản nghĩ rằng các định nghĩa kiểu này là "chung" cho dự án.

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