九回目ーークラスーー
まだ体調が不安定ですが続けていきます。
続けていくのですが、似たような書き方が多く絶賛混乱中です。
大分間が空きましたが、引き続いて行っていきます。
今回は「クラス」という物について学びました。
ただ、学んだだけではどれも似たようなことをしている為頭が混乱してしまいます。
名前を付けた器に物を入れて取り出す。
異なった名称や使い方がより混乱させていくんです。
特に、結果を出す道筋が複数あるというのが一番の混乱の元ですね。
HTML&CSS以上に何度も作って覚えるほかないのでしょうね。
1.クラス
クラス=設計図
分かりやすく言うと『何度も使うデータ』のことらしいです。
何度も使うデータを毎回ゼロから作成するのは大変で手間で入力ミスも起きるでしょう。
そこで似たようなデータを効率よく生成するための手法が「クラス」というらしいのです。
定義の形は変わらないので
class Goods {
}
このような形となります。
しかし、これだけでは設計図を作っただけに過ぎません。
なので、次に「インスタンス」と呼ばれるオブジェクト(=設計図から作る物)を作ります。
const goods = new Goods();
『= new クラス名()』という部分がそうです。
そして、インスタンスには『コンストラクタ(constructor)』という生成する際に実行したい処理や設定を追加する機能を合わせて使います。
実際に設計図の中身を書くと
class Goods {
constructor(){
console.log("特装版の付録は描き下ろしイラスト");
}
}
const goods = new Goods();
定数を定義したgoodsの中にGoodsを代入。
代入されたGoodsの中には設計図であるconstructorの『特装版の付録は描き下ろしイラスト』というテキストを表示させるコードがあります。
さらにコンストラクタの中にプロパティ(=名前と値)を組み込むことができます。
この辺りが習ったものと同じに見えて混乱していくところです。
もう少しどの場面で使う物、というのを知り結び付けて記憶するしかありません。
class Goods {
constructor(){
this.book = “転生したらゴブリンだった件”;
this.item = “描き下ろしイラスト”;
}
}
const goods = new Goods();
console.log(`ラノベの名称は${goods.book}`);
console.log(`付録は${goods.item}`);
goodsに代入されたGoodsの中身(設計図)。
オブジェクトの使い方と同じくgoodsの中のbookやitemを取り出して表示させる、という内容となります。
また、関数で学んだ引数(外に代入するものを書くこと)を使い処理できます。
この引数を使う理由というか、まだ詳しい事を飲み込めていないのが一番ネックです。
中に書こうが外に書こうが同じような気がするんですよ。
その各場所はインスタンスの()の中に書きます。
const goods = new Goods(“転生したらゴブリンだった件”,” 描き下ろしイラスト”);
外に書いている為、元々値があった場所には代入される入れ物を書く必要があります。
class Goods {
constructor(book, item){
this.book = book;
this.item = item;
}
}
const goods = new Goods(“転生したらゴブリンだった件”,”描き下ろしイラスト”);
console.log(`ラノベの名称は${goods.book}`);
console.log(`付録は${goods.item}`);
やはり書く量も変わっていないので違いがよく分からないですね。
とまあ疑問符ばかりのjavascriptですが、めげることの無い様に続けて頑張っていきます。
作りたいWebページにはjQueryも必要ですし、これからもっとjavascriptは有名になり使われていくとも思うので。
最終目的
・勿論手に職を付ける、若しくはお金を稼ぐ
・簡単なゲーム(リバーシや簡易シューティングなど)を作る
・フリーソフトで販売
短期目標
・大まかな流れを覚える
・プログラミングを理解する
上記の内容は覚える中で変わることがあると思います。