ReferenceError: Неверная левая часть в присваивании, когда действительно присваивается значение - PullRequest
0 голосов
/ 29 июня 2018

Почему этот фрагмент в узле (10.5)

    .then(function() {
      this = {...this, ...payload};
      this.update();
      resolve({ok:true, node});
    });

выдает следующую ошибку:

ReferenceError: Invalid left-hand side in assignment

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

Я не понимаю, почему возникает эта ошибка: (

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Я не думаю, что мы можем назначить это напрямую, потому что оно имеет много внутренних не перечисляемых свойств и других типов скрытых вещей, что мы можем использовать, это использовать Object.assign

.then(function(){
      Object.assign(this,payload)
      this.update();
      resolve({ok:true, node});
    });
0 голосов
/ 29 июня 2018

Что ж, ошибка проста и говорит Invalid left-hand side in assignment, это означает, что вы используете неправильный элемент в левой части вашего задания.

И это потому, что вы пишете this = {...this, ...payload};, где вы пытались записать значение в this в функции тура, , что неправильно и невозможно , потому что вы не можете изменить this и присвоить ему значение, так как это не разрешено в JavaScript.

Если вы отметите MDN это Ссылка , вы увидите, что:

В большинстве случаев значение this определяется тем, как вызывается функция. Он не может быть установлен присваиванием во время выполнения , и он может отличаться при каждом вызове функции.

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