2016-05-19 10 views
6

Ich lese die MobX docs durch und ich bin durch den folgenden Code verwirrt:Wofür wird @ in JavaScript verwendet?

class Todo { 
    id = Math.random(); 
    @observable title = ""; 
    @observable finished = false; 
} 

@observer 
class TodoListView extends Component { 
    render() { 
     return <div> 
      <ul> 
       {this.props.todoList.todos.map(todo => 
        <TodoView todo={todo} key={todo.id} /> 
       )} 
      </ul> 
      Tasks left: {this.props.todoList.unfinishedTodoCount} 
     </div> 
    } 
} 

Was die Bedeutung des @ -Zeichen ist?

+3

es wird wahrscheinlich ein Dekorateur sein, aber es ist noch nichts offiziell, afaik – dandavis

+1

https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841#.tdaza9alp –

+0

Oh, das habe ich nicht Beachten Sie die Kommentare, bevor ich gepostet habe. Haben Sie eine Verbesserung. –

Antwort

3

Es ist ein Dekorateur genannt, können Sie es überhaupt hier lesen:

https://github.com/wycats/javascript-decorators

Dekorateur ist:

  • ein Ausdruck, der auf eine Funktion auswertet, die das Ziel nimmt, Name und Dekorationsdeskriptor als Argumente und gibt optional einen Dekorationsdeskriptor zurück, der auf dem Zielobjekt
  • installiert werden soll
+1

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/12412667) – mccainz

+0

In Ordnung, ordnungsgemäß notiert, werde ich meine Antwort bearbeiten. –