ES6 может использовать «Стрелка» (=>) для определения функций. Обратите внимание, что они являются функциями, и не используйте этот метод для определения классов (конструкторов).
1. Синтаксис
1. Простая функция с одним параметром
var single = a => asingle ('Привет, мир') // 'Привет, мир2. Если нет параметров, вам нужно использовать кронштейны перед стрелкой.
var log = () => {alert ('no param')}3. Несколько параметров требуют скобок, и интервалы запятой между параметрами, такими как добавление двух чисел
var add = (a, b) => a + badd (3, 8) // 11
4. Кудрявые скобки необходимы для нескольких операторов в корпусе функции
var add = (a, b) => {if (typeof a == 'number' && typeof b == 'number') {return a + b} else {return 0}}5. При возврате объекта вам нужно обернуть его в скобки, потому что брекеты заняты и интерпретируются как кодовые блоки.
var gethash = arr => {// ... return ({name: 'jack', возраст: 33})}6. Прямо как обработчик событий
document.addeventlistener ('click', ev => {console.log (ev)})7. Сортировать обратный вызов как массив
var arr = [1, 9, 2, 4, 3, 8] .sort ((a, b) => {if (a - b> 0) {return 1} else {return -1}}) arr // [1, 2, 3, 4, 8, 9]2. Обратите внимание
1. Оператор TypeOF такой же, как у обычной функции
var func = a => anconsole.log (typeof func); // "функция"
2. Экземпляр также возвращает true, указывая, что это также экземпляр функции
console.log (функция функции func); // истинный
3. Это фиксировано, больше не изменяется
obj = {data: ['John Backus', 'John Hopcroft'], init: function () {document.onclick = ev => {alert (this.data) // ['John Backus', 'John Hopcroft']} // function // document.onclick = function (ev) {// alert (this.data) // undfined // in ontrefined // ontrefined // intefined // ontrefined // ontrefined // in optined // in optined // in optined // ontrefined //onclick = ev) {// alert (this.data). Это очень полезно, больше не нужно писать me , self , _this или bind .
4. Функция стрелки не может быть использована с новым
var person = (name, age) => {this.name = name this.age = age} var p = new Func ('John', 33) // Ошибка5. Аргумент не может быть использован
var func = () => {console.log (аргументы)} func (55) //Для 5 тест в Firefox36 может вывести 55, и, похоже, нет предела.
3. Резюме
Выше всего введение в функцию стрелки в ES6. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте сообщение для обсуждения.