Вот код:JavaScript: Invalid цель деструктурирующий
function BinarySearchNode(key) {
let node = {};
node.key = key;
node.lft = null;
node.rgt = null;
node.log =() => {
console.log(node.key);
}
node.get_node_with_parent = (key) => {
let parent = null;
while (this) {
if (key == this.key) {
return [this, parent];
}
if (key < this.key) {
[this, parent] = [this.lft, this];
} else {
[this, parent] = [this.rgt, this];
}
}
return [null, parent];
}
return node;
}
Мой Firefox является 44.0
и бросает SyntaxError
для этих линий:
if (key < this.key) {
[this, parent] = [this.lft, this];
} else {
Я пытался понять, что именно не так здесь чтение this blogpost и the MDN. Unfortuntely, я до сих пор не хватает его :(
Не будет ли это означать, что вы пытаетесь присвоить объект из-под себя? –
@DaveNewton не имеет понятия, если честно. В настоящее время я понимаю, что '' это как 'self' в python: просто ссылка (имя, указатель) для объекта. Итак, если я переназначить его на другой объект, я в порядке. Может быть, не так. – alisianoi
Не так много. Это * ссылка на объект, но объект сам по себе.Что бы это означало установить себе что-то другое? сюжет, не очень горячий код. –