個人的JavaScriptのこれだけは覚えとけ!
あくまで個人的なメモ
まだ曖昧なとこも記録
即時関数
- jsファイルの最初に定義する
- これを定義しないとグローバルが汚れる、、?
- 他のjsファイルで定義できる変数名を奪っちゃう、、?
(() => {
//ここにクラスやインスタンスを定義する
})
DOM
-
document
全てのHTML要素
よく使うdocumentに続くやつ
-
getElementById
,getElementByTagName
HTMLのIDやタグを指定 -
querySelector('id')
,querySelectorAll('タグ')
HTMLのさまざまな要素を指定
※この2つの違いがピンときていない
e
- イベントオブジェクト
- targetとかcurrentTargetを持ってる
- targetはイベント発生元の要素
- currentTargetはイベントリスナーが登録された要素
例1
- divタグだけがありそのdivタグにイベントリスナーを登録しクリックした場合は、どちらも同じdivを取ってくる
例2
- divタグの子要素にinputタグがあって、同じくdivタグにイベントリスナーを登録し次はinputタグをクリックすると、targetはdivを取ってきて、currentTargetはinputを取ってくる
クラス
- Rubyと似てる
- 引数名に決まりはないが、
obj
かobject
- constructor関数はインスタンス生成時に呼び出される、Rubyでいうinitialize関数みたいな
- クラス内でconstは使えない
- クラス内で定義した関数内なら使える
- インスタンスで定義したものを呼び出すときは
obj.変数名
- クラス内で関数を呼び出すときは
this.関数名
- クラス内の変数はconst要らない
変数名(){}
class 大文字から始まる単語{
constructor(obj){
//定義したい関数や処理など
変数名(){
}
}
インスタンス
- クラス外に記述(クラス内でconst使えないため)
const 変数名 = new クラス名({
キー: 値
})