19.参照型とオリジナル型
1637 ワード
「RunningJavaScript」を見て学んだ内容です。
ААААА
「元」の値は変更されますが、「コピー」の値は変更されません.
➜元のファイルが変更されると、コピーも変更されます.
ϲこれらのフィーチャーを強調表示する場合は、オブジェクトを参照タイプと呼ぶことができます.
変数がオブジェクトと一致しません.
リファレンスとオリジナル
ААААА
「元」の値は変更されますが、「コピー」の値は変更されません.
let a = 1; // 원본.
let b = a; // 사본. b는 1입니다. a가 아닙니다.
a = 2; // 원본의 값을 바꿈.
console.log(b) // 1. 사본의 값은 바뀌지 않음.
また,値自体がコピーされているため,変数と値は一致する.a === 2 // true
値自体は伝達されるので,変数が関数内の値で変化しても関数外では変化しない.function change(a) {
a = 5;
}
a = 3;
change(a);
console.log(a); // 3
詳細は、次の項を参照してください.➜元のファイルが変更されると、コピーも変更されます.
ϲこれらのフィーチャーを強調表示する場合は、オブジェクトを参照タイプと呼ぶことができます.
let o = {a: 1};
let p = o; // 이제 p는 o가 '가리키고 있는 것'을 가리킵니다.
o.a = 2
console.log(p); // {a: 2}
✔¥注意事項.次のコードは、前の例と似ていますが、結果はまったく異なります.let o = {a: 1};
let p = o; // 이제 p는 o가 '가리키고 있는 것'을 가리킵니다.
p === o // true
o = {a: 2}; // 이제 o는 다른 것을 가리킵니다. {a: 1}을 수정한 것이 아닙니다.
p === o // false
console.log(p) // {a: 1}
変数(オブジェクトを指す)はオブジェクト自体ではありません.変数がオブジェクトと一致しません.
let q = {a: 1};
q === {a: 1} // false
関数でオブジェクトを変更すると、関数の外部でも参照が変更されます.function change_o(o) {
o.a = 999;
}
let o = {a: 1};
change_o(o);
console.log(o) // {a: 999}
Reference
この問題について(19.参照型とオリジナル型), 我々は、より多くの情報をここで見つけました https://velog.io/@yoojiwon/19.-참조형과-원시형テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol