Co robi @ (na znak) oznacza w najnowszej wersji 1.5 maszynopis (przypuszczalnie) przykład?

głosy
15

Jest to bardzo interesujący obraz został opublikowany w oficjalnym maszynopis blogu .

składnia

Zastanawiam się, co @ (at) znak symbol robi tam od (o ile wiem) nie mogą być wykorzystane w identyfikatorach JavaScript.

Utwórz 06/03/2015 o 17:49
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
12

Wielkim wydarzeniem w tym tygodniu jest łączenie AtScript i maszynopis.

Poniższy przykład z dokumentacji AtScript ...

@Component()
class MyApp {
  server:Server;
  @Bind('name') name:string;
  @Event('foo') fooFn:Function;
  @Inject()
  constructor(@parent server:Server) {}
  greet():string {}
}

Kompiluje pod następującym JavaScript ...

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 planowano być warstwę na wierzchu maszynopisu (czyli super-zestaw super-set) - ale teraz dwa projekty są jednym .

Adnotacje opisano sposób :

  • składnia adnotacja AtScript jest tylko skrótem wprowadzania tych samych informacji w ES5. Byłoby rozsądne dla deweloperem ES5 napisać te adnotacje ręcznie. Biblioteka pomocnika mógłby nawet zostać przekazane.
  • Adnotacje mogą być umieszczane tylko na funkcjach.

  • Adnotacja umieszczane na klasy jest adnotacja umieszczona na funkcji konstruktora klasy.

  • Adnotacja umieszczane na polu zostaje przeniesiony do funkcji konstruktora.

  • Wszystkie adnotacje są przeliczane na właściwości funkcji.

Odpowiedział 06/03/2015 o 17:59
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more