JavaScript classとは
JavaScriptを学ぶ中でclassという概念が出てきて頭の中がこんがらがったので自分なりに整理したいと思います。
JavaScriptはオブジェクト指向の言語
JavaScriptはオブジェクト指向(一つ一つの機能の塊をオブジェクトつまり「もの」としてとらえる)言語のひとつで、そのオブジェクトを作る上での設計図としてClassを作る。
そのClassは、モノを形作る要素であるプロパティと、ものの振る舞いを制御するメソッドが記述されている。
Classについてやってみた
以下Circle(円)というクラス定義をしてプロパティにradius(半径)を設定し、メソッドにcircleAria(面積を計算させる)を記述した。
//クラス名は大文字で始める→インスタンスを小文字で記述しわかりやすくするため
class Circle{
constructor(radius){
this.radius = radius;
}
circleArea(){
return(this.radius * this.radius * 3)
}
}プロパティは内で定義されているconstructur(){}で囲っている。constructur(){}内に記載されている内容はクラス(設計図)からインスタンス(実体)を生成する際に最初に実行される。this.radusのthisはインスタンスそのもので、このインスタンスのradiusはこれですよと定義している。
circleArea()では面積を求めその値を返すようなメソッドを定義している。
インスタンスをつくってみた
以下、クラス(設計図)からインスタンス(実体)を生成を実行し、その後メソッドを呼び出している。
//クラス名は大文字で始める→インスタンスを小文字で記述し差を付けるため
class Circle{
constructor(radius){
this.radius = radius;
}
circleArea(){
return(this.radius * this.radius * 3)
}
}
//クラス(設計図)からインスタンス(実体)を生成する
let circle = new Circle(3);
console.log(circle.circleArea());//結果:27奥が深そうなClass
このように、モノの要素と振る舞いを定義しまとめた設計図のようなものがClassだという認識です。
実際はもっともっと複雑で、奥が深そうなClassですが現時点の知識の状態でまとめてみました。
