Edit in JSFiddle

class BSTNode {
  constructor(value) {
    this.value = value;
    this.right = null;
    this.left = null;
    this.count = 0;
  }
}

class BST {
  constructor() {
    this.root = null;
  }
  create(value) {
    const newNode = new BSTNode(value);
    if (!this.root) {
      this.root = newNode;
      return this;
    }

    let current = this.root;

    const addSide = side => {
      if (!current[side]) {
        current[side] = newNode;
        return this;
      }
      current = current[side];
    };

    while (true) {
      if (value === current.value) {
        current.count++;
        return this;
      }
      if (value < current.value) addSide('left');
      else addSide('right');
    }
  }
  find(value) {
    if (!this.root) return undefined;
    let current = this.root;
    let found = false;

    while (current && !found) {
      if (value < current.value) current = current.left;
      else if (value > current.value) current = current.right;
      else found = true;
    }

    if (!found) return 'Oops! Nothing found!';
    return current;
  }
  breadth_first_search() {
    let visited_nodes = [],
      queue = [],
      current = this.root;
    queue.push(current);
    while (queue.length) {
      current = queue.shift();
      visited_nodes.push(current.value);
      if (current.left) queue.push(current.left);
      if (current.right) queue.push(current.right);
    }
    return visited_nodes;
  }
  preOrder() {
    let visited_nodes = [],
      current = this.root;
    let traverse_the_tree = node => {
      visited_nodes.push(node.value);
      if (node.left) traverse_the_tree(node.left);
      if (node.right) traverse_the_tree(node.right);
    };
    traverse_the_tree(current);
    return visited_nodes;
  }
  postOrder() {
    let visited_nodes = [],
      current = this.root;
    let traverse_the_tree = node => {
      if (node.left) traverse_the_tree(node.left);
      if (node.right) traverse_the_tree(node.right);
      visited_nodes.push(node.value);
    };
    traverse_the_tree(current);
    return visited_nodes;
  }
  inOrder() {
    let visited_nodes = [],
      current = this.root;
    let traverse_the_tree = node => {
      if (node.left) traverse_the_tree(node.left);
      visited_nodes.push(node.value);
      if (node.right) traverse_the_tree(node.right);
    }
    traverse_the_tree(current);
    return visited_nodes;
  }
}

let binary_search_tree = new BST();
binary_search_tree.create(100);
binary_search_tree.create(2);
binary_search_tree.create(21);
binary_search_tree.create(221);
binary_search_tree.create(3);
binary_search_tree.create(44);
document.getElementById("tree").innerHTML = `Breadth-first: ${binary_search_tree.breadth_first_search()}`;
document.getElementById("tree2").innerHTML = `PreOrder: ${binary_search_tree.preOrder()}`;
document.getElementById("tree3").innerHTML = `PostOrder: ${binary_search_tree.postOrder()}`;
document.getElementById("tree4").innerHTML = `InOrder: ${binary_search_tree.inOrder()}`;
<pre id="tree"></pre>
<pre id="tree2"></pre>
<pre id="tree3"></pre>
<pre id="tree4"></pre>
body {
  background-color: #f9f9f9;
}

pre {
  padding: 10px;
  border-radius: 16px;
  color: white;
  font-size: 1.3em;
}

pre#tree {
  background-color: #5ECC93;
}
pre#tree2 {
  background-color: #190237;
}
pre#tree3 {
  background-color: #191117;
}
pre#tree4 {
  background-color: #199827;
}