У меня есть класс с именем user, в котором есть метод getDetails. Я использую функцию стрелки для метода.
проблема в том, что когда я использую функцию стрелки, eslint показывает ошибку, для = (равно), поэтому я добавил babel-eslint. Теперь ошибка eslint не отображается, но когда я запускаю код, она отображается
SyntaxError: неожиданный токен =
// index.js
class User{
constructor(){
this.users = this.getUsers()
}
getUsers = () => {
return ["test1", "test2"]
}
}
// eslintrc
{
"extends": "airbnb-base",
"parser": "babel-eslint",
"env": {
"es6": true,
"jest": true
},
.........
..........
}
Я использую версию узла 8.11.1. Любая помощь приветствуется.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


getUsers() — это метод класса, поэтому вы должны использовать следующий синтаксис ниже.
class User {
constructor() {
this.users = this.getUsers()
}
getUsers() {
return ["test1", "test2"]
}
}
console.info(new User().users);если вы попытаетесь запустить фрагмент в консоли Chrome, вы получите ту же ошибку. любая идея по этому поводу
Не знаю, понял ли я ваши комментарии. У вас есть ошибка в консоли Chrome с решением, которое я опубликовал сейчас, или с вашим первоначальным решением? Потому что я протестировал опубликованное решение в консоли браузера, и все в порядке.
В классе вы создаете метод, а не обычную функцию. Вы можете, например, использовать функцию стрелки в свойствах конструктора, но не как метод. Этот документ помогает developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
с первоначальным, который я задал в вопросе. Если я использую обычный функциональный метод, он будет, но почему, когда я использую стрелочные функции, он не работает. Это потому, что нам нужен вавилон, чтобы транспилировать его?
Это можно решить двумя способами.
1) Создание функции стрелки внутри конструктора, как это,
class User {
constructor() {
this.users = () => {
return ["test1", "test2"]
}
}
}
2) используйте node --harmony, чтобы выполнить его с помощью функции стрелки. Флаг Harmony включает функции ES6.
спасибо за ответ, так что это нормальный метод функции, если я использую функцию стрелки, я получаю сообщение об ошибке в nodejs. Пожалуйста, проверьте вопрос