JavaScriptの奇妙な挙動:プリミティブ型と参照型
3722 ワード
私は最近、原始型と参照型の違いを学びました.
私は、この話題についてブログポストを書くことがすばらしいと思いました.
これがなぜこのポストの終わりに起こるのか理解してみましょう.
JavaScriptでは、6プリミティブ型 文字列 数 ブーリアン NULL 未定義 シンボル( ES 6 ) 3参照型 オブジェクト アレイ 機能
固定サイズのメモリに格納されているプリミティブ型
したがって、メモリに格納された“a”の正確な値
私は、例がここでより役に立つと思います
私たちは変数aを作成しました
変数bのメモリ値を変数bにコピーした
参照型で何が起こるかを見てみましょう
参照型は、より複雑で、原始型と比較してより多くのスペースを取ります.
メモリのランダムな場所に格納されるので、それらは固定メモリに格納することができません
それの図を見ましょう
メモリに格納されている値が真の値そのものでないことに注意してください.
変数“a”を“b”にコピーすると、メモリ値(実際のオブジェクトへの参照)をコピーします.そういうわけで、彼らは参照値と呼ばれています.
変数“a”をコピーするときには、実際の値をコピーしないでください.
そういうわけで、私たちが「A」の特性を変えるとき、「B」も変わります.
https://github.com/leonardomso/33-js-concepts 3章値型と参照型
あなたが質問をするならば、下記に自由に感じてください.
私は、この話題についてブログポストを書くことがすばらしいと思いました.
コードスニペットから始めましょう
let a = 1;
let b = a;
console.log(b); // 1
a = 2;
console.log(b); // 1
よく、これは大丈夫ですオブジェクトで同じことをしましょうlet a = {
someText: 'Hello',
};
let b = a;
console.log(b); // { someText: "Hello" }
a.someText = 'Hi';
console.log(b); // { someText: "Hi" }
これは予期しないことでした?これがなぜこのポストの終わりに起こるのか理解してみましょう.
原始型と参照型とは
JavaScriptでは、6プリミティブ型
原始型
固定サイズのメモリに格納されているプリミティブ型
したがって、メモリに格納された“a”の正確な値
私は、例がここでより役に立つと思います
私たちは変数aを作成しました
変数bのメモリ値を変数bにコピーした
参照型で何が起こるかを見てみましょう
参照型
参照型は、より複雑で、原始型と比較してより多くのスペースを取ります.
メモリのランダムな場所に格納されるので、それらは固定メモリに格納することができません
それの図を見ましょう
メモリに格納されている値が真の値そのものでないことに注意してください.
変数“a”を“b”にコピーすると、メモリ値(実際のオブジェクトへの参照)をコピーします.そういうわけで、彼らは参照値と呼ばれています.
変数“a”をコピーするときには、実際の値をコピーしないでください.
そういうわけで、私たちが「A」の特性を変えるとき、「B」も変わります.
ソース
https://github.com/leonardomso/33-js-concepts
読書ありがとう
あなたが質問をするならば、下記に自由に感じてください.
Reference
この問題について(JavaScriptの奇妙な挙動:プリミティブ型と参照型), 我々は、より多くの情報をここで見つけました https://dev.to/mutludev/weird-behaviors-of-javascript-primitive-types-and-reference-types-11ggテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol