Попытка вычислить x * y с помощью экземпляра конструктора cal.Как я могу изменить код, чтобы сделать образец конструктора? - PullRequest
0 голосов
/ 28 мая 2018
var sample = (x,y) => (this.x =x, this.y = y, console.log(x*y));
var cal = new sample();
cal(12,5);

Получение ошибки в консоли TypeError: Невозможно установить свойство 'x' из неопределенного.

1 Ответ

0 голосов
/ 28 мая 2018

Функции стрелок нельзя использовать в качестве структур классов.Однако определение, которое у вас есть, будет прекрасно работать как функция само по себе.Просто удалите ссылку new sample(), и ваш код, вероятно, будет работать должным образом:

var cal = (x,y) => (console.log(x*y));
cal(12,5)

Я удалил сохранение this.x и this.y, так как оно будет привязано к this внешней функции,не внутренний контекст.Скорее всего, это не побочный эффект, который вы намереваетесь, и к которому нужно быть осторожным при работе с функциями стрелок.

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