Почему есть ошибка синтаксиса в этом arrow function?

Я читаю относительно специальных случаев funciones flecha (arrow functions) в javascript и я встретился с примером, который я не смог выполнять.

Пример:

[[1,2], [3,4]].map(([a,b]) => a + b);

что, если мы стараемся печатать это в консоли, было бы должно давать нам этот произошедший:

console.log([[1,2], [3,4]].map(([a,b]) => a + b));

//[ 3, 7 ]  <== resultado

Проблема состоит, в том, что после того, как старается выполнять эту линию, у меня появляется следующая ошибка:

console.log([[1,2], [3,4]].map(([a,b]) => a + b));
                            ^

SyntaxError: Unexpected token [
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:405:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:430:10)
    at startup (node.js:141:18)
    at node.js:1003:3

Я использую строгий способ:

'use strict';

Я сделал доказательства с этими версиями node (в OSX):

5.4.0
5.0.0
4.3.0
4.0.0

Во всех случаях, результат был тем же самым: почему?

4
задан 07.03.2016, 17:56
1 ответ

Мотив, из-за которого оно может не функционировать в какой-то платформе или браузере, проистекает в котором функция ECMAScript 2015 Destructuring assignment, который является той, которая позволяет синтаксис, чтобы "разоружать array" находится все еще в процессе разработки в каких-то платформах:

Node.js

В Ноде.хс Деструктуринг assignment будь в фазе экспериментальной и выведенная из строя назначенная по умолчанию.

Чтобы мочь давать возможность ей выполнять Node с flag --harmony-destructuring

Пример:

node --harmony-destructuring script.js

Chrome

В Чроме Деструктуринг включен по умолчанию с версии 49, из-за которого пример должен прокручивать изображение в окне без проблем с последней версией Chrome.

В предыдущих версиях:

  1. Переходить с одного сайта на другой в chrome://flags/#enable-javascript-harmony
  2. Давать возможность функции
  3. Возобновлять браузер

Edge

Edge это осуществляет как экспериментальные характеристики. Чтобы мочь включать опору:

  1. Переходить с одного сайта на другой в about:flags
  2. Помечать check экспериментальные Характеристики-> язык сценариев JavaScript-> Давать возможность экспериментальным характеристикам языка сценариев JavaScript
  3. Возобновлять браузер
7
ответ дан 24.11.2019, 14:46
  • 1
    #161; Функционируй! Цюй и # 233; гениальный: D –  07.03.2016, 18:01
  • 2
    Они могут продолжать издавать и добавлять м и # 225; s платформы / браузеры, если они желают – Carlos Muñoz 07.03.2016, 18:33
  • 3
    @CarlosMu и # 241; oz совершенный, если ты можешь добавлять м и # 225; s, чтобы превращать этот ответ в ответ хан и # 243; nica быть и # 237; в благодеяния для сообщества. – Gepser 08.03.2016, 19:48