筆者はjavascript歴半年(初めて触れたのが2018年10月)の初心者です。
自分の覚書用に学んだことを整理してみました。
プロトタイプという概念
プロトタイプ=日本語に訳すと「原型」=ほかの言語でいうクラスに当たる=親
インスタンス=子
どのインスタンスでも同じになるもの(メソッドとか)はプロトタイプに定義する。
(そうしないとインスタンス生成の度にプロトタイプが生成され、メモリを圧迫してしまう)
グローバルとローカルの違い
トップ(functionの外)に書くとグローバル変数・関数として扱われてしまう。
バグの温床となり好ましくないので、できるだけfunction内に書くこと。
また、varをつけ忘れると、グローバルとして扱われてしまうので必ずつけること。
this
var self = this; でselfにオブジェクトを格納することで、ビルドエラーを防ぐ。
(書く場所によってthisが指すものが異なるため)
A = B || C という書き方
Bがfalseとみなされる値の場合、Cで置き換える。
・C#でいう A = B ?? C
・SQL文でいうCOALESCE
にあたる
※Bがfalseとみなされる値・・・null,undefined,空文字など
withは使うべからず
推奨される代替案は、参照したいプロパティを持つオブジェクトを一時変数に代入することです。
参照)https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/with