Nikulio
@Nikulio
NaN !== NaN

В чем отличие объявления этих двух функций?

Всем привет
Такая запись : test(){}
и такая : let test =()=> {}
Как я понимаю, в первой мы просто глобально вяжем функцию, а во втором имеем привязку this?
Как давно в JS можно не писать function в первом примере?
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Как давно в JS можно не писать function в первом примере?

Ключевое слово function можно опускать в определенных ситуациях:
let bar = {
    test: 'A',
    foo() {
        console.log(this.test);
    }
}

bar.foo(); // A

class Bar {
    constructor() {
        this.test = 'B';
    }
    foo() {
        console.log(this.test);
    }
}

(new Bar()).foo(); // B

Разумеется для старых браузеров нужен Babel. В остальных случаях запись вида test(){} вызовет ошибку Uncaught SyntaxError: Unexpected token.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Первая запись вообще не сработает - ошибка синтаксиса.

Вторая запись - это стрелочные функции.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект
21 нояб. 2024, в 21:30
500 руб./за проект