Finally Closure : Object

by Cristi Salcescu

JavaScript

function BookStore(){
	let books = [];
  
  function add(book){
  	books.push(book);
  }
  
  function toViewObject(book){
  	return Object.freeze(book);
  }
  
  function get(){
		books.map(toViewObject).slice(0);
  }
  
  return Object.freeze({
  	add,
    get
  });
}

let bookStore = BookStore();
bookStore.add({title : "JS The Good Parts"});
bookStore.add({title : "Functional-Light JS"});
bookStore.add({title : "JS Allongé "});

console.log(bookStore.get());