アウトプット10/11
<今日のカリキュラム>
・JavaScriptの関数を学ぼう
・オブジェクト指向に触れよう
・rubyドリル
<メソッド整理など>
・JavaScriptのメソッド=関数
関数宣言
function 関数名(引数){関数処理}
関数式
変数 = function(引数){関数処理}
無名関数
関数式内のfunction(){}のこと。
即時関数
()の中に関数を記述することにより即実行出来る。関数を呼び出す必要がない。流用する可能性がない関数で使う。
戻り値には「return」の記述が必要。
関数宣言は先に読み込まれるため、先に呼び出しを記述しても問題ないが、関数式は先に読み込まれないためエラーが発生する。
・アロー関数を使うことで「function」を「()=>」と記述出来る。
・ゲッター
「クラス名.インスタンス変数」で記述することでクラス内で定義したインスタンス変数を流用することができる。
<分かっていなかったこと>
・requireメソッド
ライブラリやクラスを読み込むための記述
・whileメソッド
無限ループを作るメソッド。条件式が真である間は処理を繰り返す。
<理解していないこと>
・「placeholder」は、文字をうっすら表示する時に利用
・送信ボタンの実装
・requireメソッド params.require(:モデル名) # 取得したい情報を指定する
・permitメソッド
・references型/外部キー制約
中間テーブルのマイグレーションファイルに記述する。
t.references :room, foreign_key: true
t.references :user, foreign_key: true
・ルーティングのネスト
・mergeメソッド
・N+1問題
・fill_inメソッド
・have_selector,have_contentの違い
指定したセレクタがあるかないかを判断するマッチャがhave_selector。have_contentは指定した文字列があるかどうかを判断するマッチャ。
・クラスメソッドとインスタンスメソッド
クラスメソッドではインスタンス変数(@〇〇)が使えない。
・sliceメソッドとslice!メソッド
array.slice(1) →配列の中から1番目の数値を取り出す。但し配列に影響はない。
array.slice!(1) →配列の中から1番目の数値を取り出す。取り出した数値は配列から削除される。
・afterメソッド
任意の処理の後に指定の処理を実行するメソッド。テストコードでFactoryBot後に画像を保存するコードを作るときなどに使用する。
<気付き>
オブジェクト指向の大切さがわかったので課題図書を侮ってはいけないなと思った。読み返さないと忘れそう。