JavaScript — это объектно-ориентированный язык: это означает, что большинство вещей в JavaScript — это объекты. Единственными элементами, которые не являются объектами, являются примитивные типы данных:строка, число, логическое значение, null и undefined. Эти примитивные типы данных также являются неизменяемыми, что означает, что после создания их нельзя изменить.
Объекты передаются по ссылке. Объекты (функция, массив, карта и т. д.)
Вызов по значению: (Что-то не так!)
if (!this.symbolToConditionToPricesTree[data.symbol]) { this.symbolToConditionToPricesTree[data.symbol] = {} } let tree = this.symbolToConditionToPricesTree[data.symbol][data.condition] if (!tree) { tree = new AVLTree() } tree.insert(data.amount, data.uid) Error: this.symbolToConditionToPricesTree[data.symbol][data.condition] always keep undefined.
Звонить по ссылке:
if (!this.symbolToConditionToPricesTree[data.symbol]) { this.symbolToConditionToPricesTree[data.symbol] = {} } let tree = this.symbolToConditionToPricesTree[data.symbol][data.condition] if (!tree) { tree = new AVLTree() this.symbolToConditionToPricesTree[data.symbol][data.condition] = tree } tree.insert(data.amount, data.uid)
Будьте осторожны, когда вам нужно изменить переменную.
Ссылка:
Понятие «По значению и По ссылке в JavaScript
И узнайте, почему так важно знать разницуhackernoon.com»