используя функции стрелок внутри класса и используя его в конструкторе - nodejs - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть класс с именем 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.Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Это можно решить двумя способами.

1) Создание функции стрелки внутри конструктора следующим образом:

    class User {
    constructor() {
        this.users = () => {
            return ["test1", "test2"]
        }
    }
}

2) использовать node --harmony для ее выполнения с помощью функции стрелки,Флаг Harmony включает функции ES6.

0 голосов
/ 22 февраля 2019

getUsers() является методом класса, поэтому вы должны использовать следующий синтаксис ниже.

class User {
    constructor() {
        this.users = this.getUsers()
    }

    getUsers() {
        return ["test1", "test2"]
    }
}

console.log(new User().users);
...