トラバース、Object.assign、この決意ルール、クラスの例

オブジェクトのトラバーサル

  • 以下のために...中:オブジェクトの属性値をループします。
    以下のために...で

アレイトラバーサル

配列の添字を横断することによって、以下のようにして得られた値。

  • forEachの():すべて破棄され、戻り値とコールバック関数を介してアレイ内の値。
  • (コールバック)をマップ:マップは、順番に、アレイ内の要素のタイプに提供されるコールバックメソッドを呼び出し、そして配列から構造結果の新しいタイプであろう
  • すべての():コールバック関数がfalseを返すまで、それが実行されます。
  • いくつかの():コールバック関数がtrueを返すまで実行します。

次の直接的な方法は、値の配列を横断します。

  • 以下のための...の:直接法の反復値はES6を提供
    ここに画像を挿入説明

  • Object.assign( sourceobj, targetobj)
    オブジェクトその実装浅いコピー:
    1.直接変数(例:2)の変化が他のいずれかの値に影響を及ぼさない、請求コピー互いに独立して対象物の値は、ソースオブジェクトとターゲットオブジェクトの値、。
    前記基準値がコピーされ(通常、オブジェクト、機能及びアレイを含む)オブジェクトの属性値

    ここに画像を挿入説明

この裁判官のルール

これは、各関数コールが結合している場合、この値は、関数呼び出しの位置に完全に依存しています。

ランニングのこの結合機能は、あなたがこの関数を呼び出し、直接位置を見つける必要があるかどうかを判断するには。発見後、この結合オブジェクトの次の4つのルールを決定するために適用することができます。
1.新しいコールがありますか?新しく作成されたオブジェクトにバインドされました。
コールまたは適用(またはバインド)によって呼び出され、2?指定されたオブジェクトにバインドされました。
3.コンテキストオブジェクトによって呼び出されますか?コンテキストオブジェクトにバインドされました。
4.デフォルト:strictモードで不定に結合し、そうでなければ、グローバルオブジェクト(ウィンドウ)に結合しました。

注:中ES6 箭头函数不会使用以上四条绑定规则,而是根据当前语法作用域来决定this, 即箭头函数会继承外层函数调用的this绑定、このselt = thisメカニズムと同じ。

例:
新しい新しいバインディング:
ここに画像を挿入説明
表示結合、コール/適用/バインド
ここに画像を挿入説明
暗黙の結合、コンテキストバインド
ここに画像を挿入説明
上記の他のいくつかのバインディング、デフォルトのバインディングに加えて:
ここに画像を挿入説明

  • 未定義:変数(割り当てられた)初期値が定義されていない宣言し、正式なパラメータや実際のパラメータがありません。それには、JavaScriptの基本的なタイプの一つです。
  • あなたが関数を指定した場合、戻り値にreturn文を使用していない、それはコールの後、未定義の値を返します。
  • ナル:オブジェクトの値が特に設定されていません。それには、JavaScriptの基本的なタイプの一つです。

拡張知識
:他の言語のクラス
:クラスの知人
の例として、建物に:

  • クラス:建築設計
  • 例:実際の建物
  • コンストラクタ:クラス名と同じ、クラスは、彼によってインスタンス化new 类名(参数)建設労働者として行動します。

クラス継承は:
キーワード拡張により、サブクラスは、親クラスの基本的なプロパティを継承します。多型技術は、サブクラスは親クラス、または親クラスの直接の使用を無効にすることができます。

伝統的なクラス指向言語、クラスのコンストラクタ。しかし、JavaScriptでは逆に、「クラス」はコンストラクタ(このタイプの参照Foo.prototype ...に類似する)所属します。

クラスはインターフェイス、モジュール、簡単な方法です。

参考書上記/文書:
「あなたは、JavaScriptを知らない」
MDNを

公開された18元の記事 ウォン称賛10 ビュー618

おすすめ

転載: blog.csdn.net/llq886/article/details/104189475