Не могу понять этот синтаксис анонимной функции в Javascript

0

Следующий код:

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

демо в Angular Meteor Tutorial

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

  • 1
    Я могу ошибаться, но это похоже на функцию стрелки.
  • 0
    спасибо новый синтаксис функции стрелки
Теги:
angular-meteor
anonymous-methods

1 ответ

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
  }


}();

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

  • 0
    совместим ли он с последними смартфонами и Cordova HTML Viewer
  • 0
    @aj_blk не уверен, однако вы всегда можете использовать babel-компилятор, чтобы преобразовать ваш новый удивительный код ES2015 JS в старый добрый ES5 JS

Ещё вопросы

Сообщество Overcoder
Наверх
Меню