I am trying to build this simple Javascript Binary search tree. I have simply created the addItem method for the tree, but no item seems to get added to the tree. I have divided the addItem method into several other methods to ensure that the tree reference is passed properly without any errors. I think the problem is occurring in the addNode recursive calls.
Below the is the given code:
class Node{
    constructor(value){
        this.value=value;
        this.left=null;
        this.right=null;
    }
    show(){
        console.log(this.value);
    }
}
class BST{
    constructor(){
        this.root=null;
    }
    addNode(node, item){
        if(node==null){
            node=new Node(item);
        }
        else if(item<=node.value){
            this.addNode(node.left, item);
        }
        else {
            this.addNode(node.right, item);
        }
    }
    addFunc(tree, item){
        this.addNode(tree.root, item);
    }
    addItem(item){
        this.addFunc(this, item);
     }
}
let bst = new BST();
bst.addItem(5);
bst.addItem(43);
bst.addNode(12);
console.log(bst); // shows BST{root:null}
 
     
    