Factory Functions & Singleton Pattern

Which information hiding pattern does this stack implementation use?
function createStack() {
  const items = [];
  
  return {
    push(item) {
      items.push(item);
    },
    pop() {
      return items.pop();
    },
    peek() {
      return items[items.length - 1];
    },
    isEmpty() {
      return items.length === 0;
    },
    size() {
      return items.length;
    }
  };
}
Next Question (29/32)