リファレンス
2187 ワード
参照タイプのコピー
整列
let numbers1 = [1,2,3]
let numbers2 = numbers1
numbers2.push(4)
console.log(numbers1) // [1,2,3,4]
console.log(numbers2) // [1,2,3,4]
場合によっては、間の参照型値をコピーするのではなく、コピーしたい場合があります(num 2を変更したいのは名前の通りです).sliceメソッドでパラメータに何も指定されていない場合は、元の値が返す性質を利用して、配列をコピーするように見えます.
let numbers1 = [1,2,3]
let numbers2 = numbers1.slice()
numbers2.push(4)
console.log(numbers1) // [1,2,3]
console.log(numbers2) // [1,2,3,4]
オブジェクト(アドレス値を変数に格納)
let course1 = {
title : '파이썬 프로그래밍기초',
language: 'python'
};
1.Object.割り当て方法の使用
let course2 = Object.assign( {}, course1);
course2.title = '알고리즘의 정석'
console.log(course1); // title: '파이썬 프로그래밍기초', language: 'python'
console.log(course2); // title:'알고리즘의 정석' , language: 'python'
2.for in文を使用する場合、同じpropertyを使用できますが、独立して使用できます。
let course1 = {
title : '파이썬 프로그래밍기초',
language: 'python'
};
let course2 = {};
for(let key in course1) {
course2[key] = course1[key];
}
course2.title = '자료구조'
console.log(course1); // title: '자료구조' , language: 'python'
console.log(course2); // title:'알고리즘의 정석' , language: 'python'
3.関数の使用
function cloneObject(object) {
let temp = {};
for(let key in course1) {
temp[key] = object[key];
}
return temp
};
let course1 = {
title : '파이썬 프로그래밍기초',
language: 'python'
};
let course2 = cloneObject(course1)
course2.title = '알고리즘의정석'
console.log(course2) // title:'알고리즘의 정석' , language: 'python'
定数へのプロパティの追加const x = {name : 'ss'}
x.birth = 2017
console.log(x)//{name:'ss', birth:2017
値を割り当て演算子に変更すると、値の再割り当てのように見えますが、オブジェクトのPropertyまたは配列の要素が変更されると、
アドレス値が変更されないため、定数の値が変更される可能性があります.
Reference
この問題について(リファレンス), 我々は、より多くの情報をここで見つけました https://velog.io/@kyle-shk/참조テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol