Что мне делать, если моя функция не имеет параметров?
Posted: Sat Dec 28, 2024 6:36 am
Все, что вам нужно, это следить за параметром, который вы используете, с помощью =>(называемой «жирной стрелкой» ), и все готово.
Синтаксис ES6 на месте!
В предыдущих блоках кода мы использовали некоторый код из синтаксиса ES6, частью которого являются сами стрелочные функции. Если вам интересно узнать больше об этих темах, приходите и узнайте о новом курсе, который мы готовим!
Однако на этом этапе вы также можете спросить себя:
После предыдущего ведущий telegram-менеджер беларуси примера вы можете подумать, что правильно было бы написать что-то вроде этого:
JavaScript
1
let noParameters = => "Функция без параметров" ;
Вы ошибаетесь, потому что в этом контексте интерпретатор JavaScript выдаст такую ошибку:
Синтаксическая ошибка при пропуске круглых скобок при объявлении стрелочной функции без параметров.
Это происходит потому, что JavaScript не способен интерпретировать такой синтаксис . Чтобы решить эту проблему, вам нужно добавить две круглые скобки:
JavaScript
1
let noParameters = () => "Функция без параметров" ;
Все, что нам нужно сделать, это внести это небольшое изменение, чтобы сказать, что мы создаем стрелочную функцию без параметров, и все снова будет работать правильно.
При добавлении круглых скобок стрелочная функция без параметров работает корректно.
Синтаксис ES6 предлагает нам другие решения для передачи произвольного количества параметров внутри функции, но это выходит за рамки этой статьи.
Обратим внимание на следующий аспект.
Будьте осторожны thisпри использовании стрелочных функций.
Если вы когда-либо писали несколько программ на JavaScript, вы должны были отвернуться от первого примера, который я привел вам в этой статье.
Вы ничего не заметили?
Посмотрите на код еще раз:
JavaScript
1
константное поле = документ . querySelector ( '.box' );
2
коробка . addEventListener ( 'клик' , функция (){
3
предупреждение ( box.innerText ) ;
4
});
Строка кода, которую я обвиняю, — 3, та, в которой я собираюсь запустить элемент, alert()используя текст, содержащийся в элементе, по которому щелкнули, и та, в которой я прослушиваю событие click.
Я указываю пальцем на эту конкретную строку кода, потому что обычно, когда вы используете функции обратного вызова, вы указываете элемент, в котором произошло событие (потому что они могут быть разными).
Ключевое слово используется для указания элемента this.
Фактически, если мы добавим к предыдущему коду, мы console.log(this)получим:
В обычной функции это представляет элемент, вызвавший событие.
Но в этой статье мы говорим о функции стрелки, и если мы преобразуем предыдущую функцию и обратимся к элементу, thisмы столкнемся с неожиданным результатом:
Синтаксис ES6 на месте!
В предыдущих блоках кода мы использовали некоторый код из синтаксиса ES6, частью которого являются сами стрелочные функции. Если вам интересно узнать больше об этих темах, приходите и узнайте о новом курсе, который мы готовим!
Однако на этом этапе вы также можете спросить себя:
После предыдущего ведущий telegram-менеджер беларуси примера вы можете подумать, что правильно было бы написать что-то вроде этого:
JavaScript
1
let noParameters = => "Функция без параметров" ;
Вы ошибаетесь, потому что в этом контексте интерпретатор JavaScript выдаст такую ошибку:
Синтаксическая ошибка при пропуске круглых скобок при объявлении стрелочной функции без параметров.
Это происходит потому, что JavaScript не способен интерпретировать такой синтаксис . Чтобы решить эту проблему, вам нужно добавить две круглые скобки:
JavaScript
1
let noParameters = () => "Функция без параметров" ;
Все, что нам нужно сделать, это внести это небольшое изменение, чтобы сказать, что мы создаем стрелочную функцию без параметров, и все снова будет работать правильно.
При добавлении круглых скобок стрелочная функция без параметров работает корректно.
Синтаксис ES6 предлагает нам другие решения для передачи произвольного количества параметров внутри функции, но это выходит за рамки этой статьи.
Обратим внимание на следующий аспект.
Будьте осторожны thisпри использовании стрелочных функций.
Если вы когда-либо писали несколько программ на JavaScript, вы должны были отвернуться от первого примера, который я привел вам в этой статье.
Вы ничего не заметили?
Посмотрите на код еще раз:
JavaScript
1
константное поле = документ . querySelector ( '.box' );
2
коробка . addEventListener ( 'клик' , функция (){
3
предупреждение ( box.innerText ) ;
4
});
Строка кода, которую я обвиняю, — 3, та, в которой я собираюсь запустить элемент, alert()используя текст, содержащийся в элементе, по которому щелкнули, и та, в которой я прослушиваю событие click.
Я указываю пальцем на эту конкретную строку кода, потому что обычно, когда вы используете функции обратного вызова, вы указываете элемент, в котором произошло событие (потому что они могут быть разными).
Ключевое слово используется для указания элемента this.
Фактически, если мы добавим к предыдущему коду, мы console.log(this)получим:
В обычной функции это представляет элемент, вызвавший событие.
Но в этой статье мы говорим о функции стрелки, и если мы преобразуем предыдущую функцию и обратимся к элементу, thisмы столкнемся с неожиданным результатом: