2015-12-28 1 views
0

следующий код:Cant понять этот анонимный синтаксис функции в Javascript

angular.module('socially').controller('PartiesListCtrl', function ($scope) 
    { 
    $scope.helpers({ 
      parties:() => { 
      return Parties.find({}); 
      } 
    }); 
    }); 

демо на Angular Meteor Tutorial

Не могу понять синтаксис, используемый для parties: объекта. Почему используется =>? Есть ли больше объяснений для этой анонимной функции.

+1

Я мог бы быть неправильно, но это похоже на функцию стрелки. – Rajesh

+0

спасибо за новые функции функции со стрелкой –

ответ

4

Это функция стрелки, новый синтаксис от ES2015, который был принят в этом году. Не только стрелка функции короче в декларации, а иногда и выглядит лучше, они также разделяют связывание контекста с окружающими их кодом

!function() { 
    this.name = 'global'; 

    var nonArrowFunc = function() { 
    console.log(this.name); // undefined, because this is bind to nonArrowFunc 
    } 

    var arrowFunc =() => { 
    console.log(this.name); // this taken from outer scope 
    } 


}(); 

Вы можете прочитать больше о функциях стрелок here и here и here

+0

совместим с последними смартфонами и кордорой html viewer –

+0

@aj_blk не уверен, однако вы всегда можете использовать компилятор babel для преобразования вашего нового удивительного кода ES2015 JS в старый добрый ES5 JS –

Смежные вопросы