JSコアコンセプト
5602 ワード
元と参照
元と参照
1.変数には1つのデータのみが含まれます.
2.なぜ資料構造を単独で実施するのか.
変数に入れるデータのサイズが限られているからです.
3.元のタイプのデータの格納方法
stackというロッカーがあり、宣言と名付けられています.変数に値を割り当てると、値はロッカーに格納されます.また、この貯蔵庫の値は名前でロッカーの値を取り戻します
元のタイプをコピーすると値がコピーされるので、コピー値を変更しても既存の値には影響しません.
4.参考資料の保存方式
リファレンスタイプ(referencetypdata)は、ロッカーに名前を付け、アドレスを割り当てます.その後、heapという名前の空間に値を格納し、スタックに格納されたアドレスを介してheapを参照することができる.この貯蔵空間は寸法を動的に変えることができる.
参照タイプのデータをコピーするとアドレスがコピーされるため、コピー値を変更すると既存の値にも影響します.
3)紛らわしいもの
console.log([1,2,3] === [1,2,3]); //flase
console.log({ foo: 'bar' } === { foo: 'bar' });//false
上記の場合、比較演算子は、比較アドレスが同じか否かを比較する変数/エスケープ/TDZ
変数の種類と特徴
1.var
1)宣言と初期化
2)分配`
2.let
1)宣言
2)初期化
3)分配
3.const
1)同時に宣言、初期化、分配//宣言分配
がんばって
1.ホイスティンがスコップ内で起きる
2.scope内部の任意の位置にかかわらず、変数宣言は最上位に宣言されたように表現されます.
3.変数をハイライトするときは宣言のみハイライトし、割当てはハイライトしません
したがって、varでは、割当てと同時に初期化を行うため未割当ての状態で使用すると、エラーは発生しない
TDZ
変数が反発宣言として割り当てられ、値が割り当てられていない場合、TDZの影響を受けます.
スキャン
スコフって何?
変数に近い範囲が存在します.この範囲をscopurと呼びます.
スキャン規則
1.内視鏡から外視鏡に近づくことができるが、反対にはならない.
2.スペクトルを重ねることができる
関数に新しい変数が宣言されているため、同じ名前の新しい変数が作成されますが、関数にのみ存在します.
//コード
バーク
//コード
関数に宣言されず、nameに値が指定されているため、グローバル変数が直接インポートされ、値が割り当てられます.最終的にグローバル変数nameが「朴ハッカー」に変更されました
//コード
バーク
//朴ハッカー
ひょうほん
1.括弧で囲む範囲(block scope:block scope)
4.どのような変数を使用すればよいですか.
varは旧時代の宣言方式である.ブロックスキャンを無視し、関数スキャンに従うだけで、特性が分からないとエラーコードに陥りやすい.
逆にletはBlock Scopeと関数Scopeに従い,再発言を防止する.
ブロック単位でスキャンを分割する場合、より予測可能なコードを記述できるため、letキーワードを使用することをお勧めします.
しかし、以前書いたコードを見ることが多いので、varの特性も必ず知っておく必要があります.
constの使用により、値の変更を最小限に抑えることができます(値を再割り当てすると、TypeErrorよりも安全なプログラムが作成されます).
5.変数線内で注意すべき点
1)varとして宣言されたグローバル変数とグローバル関数はwindowオブジェクトに属する
(side effect)
3)宣言なしで変数を割り当てない
エンクロージャ
Closer関数とは?
1.モジュールの定義
Closerは、関数と宣言された関数の語彙環境(LexicalEnvironment)の組合せです.
2.エンクロージャのコア
Closer関数の特徴
1.Closer関数は「関数によって返される関数」
2.Closer関数は外部関数変数に近づくことができる内部関数である
Closer関数の利点
1.データを保持する関数
(Lexical環境に格納)
2.モジュールモード
あるcounter 1、counter 2にmakeCounter()を入れると、ディレクトリ環境が異なります.
したがって、counter 1の値とcounter 2の値は、相互に影響を与えることなく、互いに保持することができる.
Reference
この問題について(JSコアコンセプト), 我々は、より多くの情報をここで見つけました https://velog.io/@ice-ame/JSNode-핵심-개념과-주요-문법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol