[JavaScript] Reference Type

Reference Type

자바스크립트에서 객체는 key : value 형태의 프로퍼티를 저장하는 컨테이너다
객체의 연산은 모두 참조 값으로 처리된다
그렇기 때문에 파라미터로 참조 타입을 바인딩 할 경우 원본을 변경할 수 있다
또한 참조 타입은 Object.prototype 객체숨겨진 프로퍼티로 가지고 있다

Obejct Constructor

Object 생성자를 이용한 객체 생성
빈 Object 객체를 생성한다

1
var foo = new Object();

프로퍼티는 다음과 같이 동적으로 생성한다

1
2
3
foo.name = 'foo';
foo.age = 30;
foo.gender = 'male';


literal

리터럴 방식으로 객체 생성은 다음과 같다

1
2
3
4
5
var foo = {
name : 'foo',
age : 30,
gender : 'male'
};


객체 프로퍼티 읽기

1
2
console.log(foo.name);
console.log(foo['name']);


프로퍼티 갱신

1
foo.name = 'bar';


프로퍼티 동적 생성

객체의 프로퍼티에 값을 할당할 때 프로퍼티가 이미 존재하면 값을 갱신하고 존재하지 않으면 값을 생성한다

1
foo.school = 'middle high';


중괄호 표기법 사용

연산자나 예약어가 프로퍼티 이름에 있는 경우에는 중괄호 표기법만 사용해야 한다

1
2
3
4
foo['full-name'] = 'foo bar';
console.log(foo['full-name']);
// NoN : Not a Number '-' 연산자로 인해 연산으로 인식한다
console.log(foo.full-name);


프로퍼티 순회

1
2
3
4
var prop;
for (prop in foo) {
console.log(prop, foo[prop]);
}


프로퍼티 삭제

1
delete foo.school;
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/07/08/Languages/JS/js_reference_type/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.