class Node { constructor(value){ this.value = value; this.next =null; } } class Queue { constructor() { this.first = null; this.last = null; this.size = 0; } enqueue(value) { let newNode = new Node(value); if(!this.first) { this.first = newNode; this.last = newNode; } else { this.last.next = newNode; this.last = newNode } return ++this.size; } dequeue() { if(!this.first) return null; let removedNode = this.first; if(this.first === this.last) { this.last = null } this.first = this.first.next; this.size--; return removedNode.value; } } let queue = new Queue(); queue.enqueue("FIRST"); queue.enqueue("SECOND"); queue.enqueue("THIRD");