Передача данных в класс в ES7 без функции конструктора - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь использовать новый синтаксис ES7 для передачи свойств классу без использования конструктора.

Я знаю, что мы можем передать это с помощью конструктора:

class MyClass {
    constructor(pacman) {
        this.pacman = pacman;
    }
}
...
const myInstance = new MyClass({food:'........'});

Но как нам сделать это с помощью синтаксиса «без конструктора» в ES7?

Код ошибки:

class MyClass {
    static pacman; // undefined
    pacman = this.pacman; // undefined
    this.pacman = pacman; // Syntax error: unexpected token .
    pacman = this.pacman.bind(this); // Cannot read property 'bind' of undefined
}
...
const myInstance = new MyClass({food:'........'});

1 Ответ

0 голосов
/ 13 октября 2018

Но как нам это сделать с синтаксисом "без конструктора" в ES7?

В ES2016 нет синтаксиса без конструктора.Если вы ссылаетесь на все еще экспериментальное предложение полей класса : поле класса подходит только для вещей, которые инициализируются с одинаковым значением для каждого экземпляра, оно не может зависеть от чего-либо, переданного конструктору.Вот для чего вам нужно constructor.Только там вы можете объявить параметры и использовать их для ссылки на аргументы конструктора.

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