Массив как параметр в функции обратного вызова сортировки - PullRequest
0 голосов
/ 11 декабря 2018

Этот вопрос связан с вопросом, который я написал несколько дней назад.Я получил ответ, он работал, но есть вещь, которую я не понимаю.Вот ссылка: LINK

Во время отладки кода я остановился на .sort(([x], [y]) => leftTop(x, y)) части (я просто поменял буквы).Я знаю, что браузер иногда каким-то образом преобразовывает код, чтобы прочитать его другим способом, но почему он изменил его на .sort(function(_a, _b) { var x = _a[0]; var y = _b[0]; return... })?Другими словами, как [x] изменилось на _a[0]?

1 Ответ

0 голосов
/ 11 декабря 2018

Короткий ответ

ES6 → ES5 транспиляция

Более длинный ответ

Синтаксис ([x], [y]) => leftTop(x, y) представляет собой функцию стрелки , которая является способомвыражать функцию, которой не было в EcmaScript2009 (он же ES5), но существует в EcmaScript2015 (он же ES6) и более поздних версиях.

Есть много причин, по которым люди переносят свой код из ES6 в ES5, главным образом для обеспечениясовместимость с браузерами и инструментами.

Настолько часто, что многие инструменты по умолчанию используют перенос ES6 → ES5, например create-реагировать-приложение или ng new .Под капотом наиболее широко используемым инструментом для транспиляции является babel .Весьма вероятно, что вы используете его при создании приложения, поэтому в вашем синтаксисе происходят изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...