I was reading about OOP in JS, but confused between traditional OOP versus object literal. And I also found in github many great JS projects weren't written the 'OOP way'. They leverage the object leteral pattern like revealing pattern and singletons. I came from Java, now I'm consufed between below pattern, on when to use them.
OOP :
function cook(){
this.vege = 'something';
}
var Cook = new cook();
console.log(Cook.vege = 'something else')
Versus object literal way :
var cook = {
vege:"something"
}
cook.vege = "something else"