[JS]CoreJavaScript-Ch1



1️⃣ Data Type


まず、データ型は大きく2つに分けられます.
  • 基本型:数字、文字、null、未定義、ブール、記号...
  • 参照型:オブジェクト、配列、関数、正規表現、日付...
  • 変数宣言とデータ割当ての基本プロセス

    var a;
  • 変数宣言:アドレス値
  • に空間を割り当て、アドレス値は「a」(識別子名)として検索できます.
    a = 'abc'
  • データ割り当て:データを空白の空間に直接入れるのではありません!
    「abc」に個別のメモリ領域を用意し、そのアドレス値を変数に格納します.
  • なぜ変数にデータを直接入れずにアドレス値を入れないのですか?


    (1)データ修正の効率:入力変数のメモリサイズが可変であるため.
    変数にデータを配置すると、データのサイズが変化すると、変数が占めるスペースを変更する必要があります.
    (2)重複データ処理の効率:重複データに対しては、重複データのアドレス値を重複記憶し、変数に割り当てるだけでよい(数学における置換概念)

    基本形状と参照形状の違い


    --> false
    aが記憶するアドレス値とbが記憶するアドレス値とは異なり、aが記憶する10、bが記憶する15
    逆に、--> True
    オブジェクトには、アドレス値を参照する手順もあります.
    obj 1、obj 2は同じアドレス値と見なすことができ、そのアドレス値の可変領域では、アドレス内のデータがc:10->c:15に変更されるため、obj 1とob 2は同じである.
    通常、基本型データは불변형、参照型データは가변형と呼ばれる.
    しかし、厳密には、参照型データの「可変」は、データ自体ではなく内部プロパティを変更する場合にのみ成立する.
    すなわち、データ自体を変更する場合は、基本型と参照型の両方が불변であるべきである.

    オブジェクトを一定に保つ場合



    この場合、本来作成したobj 1オブジェクトは保持され続け、obj 2を再作成し、obj 1に基づいて名前を変更したいだけですが、obj 1もobj 2のように名前を変更されます.
    すなわち,本オブジェクトを一定に保たなければならない場合がある.

    表計算ドキュメントの浅いレプリケーション



    But,コピーはオブジェクト内のオブジェクトネストされたオブジェクト文には適用されません!

    ¥¥¥¥¥対象深度コピー



    11 JSONの簡単な深度コピー
    (ただしメソッドまたはJSONに変更できないすべてのPropertiesは無視)

    各種ライブラリの使用

    UndefinedとNullの違い


    Undefined->値が指定されていない場合、JSエンジンは未定義を返します.
    値のない変数
  • にアクセスする場合、
  • オブジェクト内部に存在しないPropertyにアクセスする場合、
  • は文を返さないが、関数を呼び出さない場合は
  • である.
    cf)未定義とEmpty(空の要素)
    空の要素は순회와 관련있는 배열 메소드(forEach, filter, map, reduce 등)ターゲットに含まれません
    🔮ではNullとの違いは?
    符号化の際に비어있음を明示的に表示したい場合に用いられるのがnullである.undefinedは私たちが直接使ったのではなく、JSエンジンが返した結果です.△いいけど、あきらめましょう.