Tin tức lớn trong tuần này là sự hợp nhất của AtScript và TypeScript.
Ví dụ sau đây từ tài liệu AtScript ...
@Component()
class MyApp {
server:Server;
@Bind('name') name:string;
@Event('foo') fooFn:Function;
@Inject()
constructor(@parent server:Server) {}
greet():string {}
}
biên dịch thành mã JavaScript sau ...
function MyApp() {}
MyApp.properties = {
'server': { is: Server },
'name': { is:string,
annotate: [new Bind('name']},
'fooFn': { is:Function,
annotate:[new Event('foo')]}
}
MyApp.annotate = [
new Component(),
new Inject()
];
MyApp.parameters = [
{is:Server, annotate:[parent]}
];
MyApp.prototype.greet = function() {}
MyApp.prototype.greet.returns = string;
AtScript được lên kế hoạch để trở thành một lớp trên đầu trang của nguyên cảo (tức là một siêu thiết lập của một siêu thiết lập) - nhưng bây giờ là two projects are one.
Annotations are described thus:
- AtScript chú thích cú pháp chỉ là một cách viết tắt của việc đặt thông tin tương tự trong ES5. Sẽ là hợp lý nếu một nhà phát triển ES5 viết các chú thích này theo cách thủ công. Một thư viện trợ giúp thậm chí có thể được cung cấp.
Chú thích chỉ có thể được đặt trên các chức năng.
Chú thích được đặt trên lớp là chú thích được đặt trên hàm tạo hàm của lớp.
Chú thích được đặt trên một trường được di chuyển đến hàm hàm tạo.
Tất cả chú thích được dịch thành thuộc tính trên hàm.
tôi sẽ đọc trên atscript. nó được gọi là chú thích. –
Trong TypeScript, toán tử "@" biểu thị một trình trang trí (trong ví dụ trên, một trình trang trí lớp). Bạn có thể tìm hiểu thêm về các trang trí trong [tài liệu TypeScript] (https://www.typescriptlang.org/docs/handbook/decorators.html). – sherb