ゴール: getter/setterを含むクラス定義をエコ楽に記述できる(get/set) クラスの継承もエコ楽に正しく記述できる(extend) とにかく長いキーワードや余計なものはプログラマには書かせない constructorの代わりに、newを使える様にする prototypeも__proto__もプログラマには見せない書かせない Object.definePropertyやObject.setPrototypeOfなども見せない書かせない ついでに外部からアクセスできないprivateな変数も使える様にする ※npmにbase-class-extendとして登録しました。 ※参考: [JavaScript] そんな継承はイヤだ - クラス定義 - オブジェクト作成 この記事のゴールは、以下の様にクラス定義がエコ楽にできること。 // animal-ex.js 'use stric