что не так с кодом ниже? - PullRequest
0 голосов
/ 06 июня 2018
class A {

  let color = 'red';


  let handleClick = () => {}

  let handleLongClick = function() {}
}

console.log('done');

Я пытаюсь запустить этот код в http://jsbin.com/bopiqizaka/edit?js,console. Я ожидал, что он напечатает done.see the red mark in the image но это не так.Может кто-нибудь сказать, что я здесь делаю не так?

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Вы не можете использовать переменные (let, var, const) внутри таких классов.Вам нужно написать constructor, и в constructor вы можете определить, какие атрибуты должен иметь класс, например, color.

. Для методов вы просто пишете имя метода (без functionили синтаксис ES6).

class A {

  constructor() {
    this.color = "red";
  }

  handleClick() {}

  handleLongClick() {}


};

console.log('done');
0 голосов
/ 06 июня 2018

Вы используете 'let' для объявления переменных внутри класса.Если вы хотите иметь переменные экземпляра, используйте конструктор и определите методы, как показано в следующем примере.

    class A {

  constructor(){
    this.color = "red";
  }

  handleClick(){}

  handleLongClick(){}


};

console.log('done');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...