こんにちは丸山@h13i32maruです。 ES6(ES2015)にclassシンタックスが入って、あー、すごい書きやすくなったなぁ、読みやすくなったなぁと思ってclassシンタックスのありがたみを噛み締めながらコードを書いています。 そんなときに ES6にclassシンタックスが導入されたけど、 クラスベースになるわけではなくて所詮ただのプロトタイプベースを使ったシンタックスシュガーだ というような話をちょいちょい耳にします。こういう話を聞くたびになんだかもやもやしていたので、ちょっと自分の中の考えを整理してみようと思います。 注意: 以下はあくまで僕個人の考えということでよろしくお願いします。 OOPとは 「OOP」「クラスベース」「プロトタイプベース」について順番に整理します。まずはOOPについて。 僕はオブジェクト指向というのは以下のどちらかまたは両方を指すものだと考えています。