【ノンプロ研GAS中級講座】クラス・ライブラリ
ごきげんよう、な~です。Siriも参加するノンプロ研GAS中級講座に参加しています。
では、さっそく復習しましょう。まずはクラスから~
クラス
「クラスとは、オブジェクトをつくる機能」とのことです。まずは、オブジェクトの復習からおさらいしました。
プロパティをキーとするデータの集合です。
クラスの定義
class クラス名{
//クラス定義
}
※クラス名はパスカル記法でかきます。 Person や AsanaManager など
クラスからオブジェクトを生成する
new演算子を使って、クラスからオブジェクトを生成します。
const date = new Date();
これは、日付を使うときによく見る構文。Dateクラスから日付オブジェクトを生成しています。
また、クラスから生成されたオブジェクトをインスタンスと言います。オブジェクトと呼んだり、インスタンスと呼んだりと場面によっていろいろな呼ばれ方がするそうです。
プロパティの定義
クラスがnew演算子で呼ぼ出せるときにコンストラクタというインスタンス生成用の関数があります。
class クラス名(){
constructor(仮引数1,仮引数2,...){
//生成時の処理
}
}
オブジェクトの値にセットしたいときなど、コンストラクタ内では、核になるオブジェクトのことをthisと書きます。
class クラス名(){
constructor(name,仮age,...){
//生成時の処理
this.name = name;
this.age=age
}
}こ
こんな感じで、nameを作成するオブジェクトのnameプロパティに設定していますね。
メソッドの定義
メソッドとは、プロパティに関数を割り当てたもの。オブジェクトの関数です。
class クラス名 {
メソッド名(仮引数1, 仮引数2,...) {
//メソッドの処理
}
}
こんな感じで定義します。
クラスのオブジェクト名.メソッド名(引数1,引数2)
みたいな形で書いて関数を呼び出します。
また、class構文のメソッドはプロトタイプメソッドとだそうです。インスタンスを作成したときにメソッドのメモリが割り当てられるのではなく、実行するときにクラスを参照して動作するそうです。この当たりはまだまだピンと来ないところではあるのですが、クラスのメソッドはメモリ容量が無駄に消費されないようになっていると思うことにしました。
ライブラリ
ライブラリとは、作成した関数を他のプロジェクトから利用できる機能だそうです。ChatWork API操作のライブラリは利用していますが、自分でライブラリを作成して利用しようと思ったことはありませんでした。
今回は実際にライブラリの作成をしてみました。
ライブラリを作成して、お互い呼び合ったりするのは楽しい学びということを知りました。
また、ライブラリの共有権限は編集者ではなく、閲覧者にして公開すること。編集者にしてしまうとスクリプトIDを知った人が中を修正できてしまうので危険ということも学びました。
まとめ
今回は、クラスとライブラリについて学びました。まだまだどう書くのか?どう書くのが正解なのかわからないクラスです。そして、ライブラリはその先みたいなイメージでまだまだ遠い存在です。でもでも、早く自分のモノにしたいです。
この記事が気に入ったらサポートをしてみませんか?