[JSInfo] 객체

cptkuk91·2021년 10월 2일
0

JSInfo

목록 보기
9/26

자바스크립트에는 8개의 자료형이 있습니다.

7개의 자료형은 오직 하나의 데이터(문자열, 숫자열)등 만 담을 수 있기 때문에 원시형(Primitive Type)이라고 부릅니다.

하지만 객체형 은 원시형과 달리 다양한 데이터를 담을 수 있습니다. 키로 구분된 데이터 집합이나 복잡한 개체(entity)를 저장할 수 있습니다.

자바스크립트에서 객체는 상당히 중요하기 때문에 잘 기억해야합니다.

객체는 중괄호 {...}를 사용해서 만듭니다. 중괄호 안에는 '키(key): 값(value)'로 구성된 프로퍼티(property)를 여러 개 넣을 수 있습니다.

ex)
항구에서 컨테이너는 프로퍼티 역할을 합니다. 각 컨테이너에는 고유번호가 붙어 있고 이를 객체의 키라고 생각하면 됩니다. 컨테이너 안에 들어 있는 물건은 파일이겠죠. 고유번호를 통해 쉽게 찾을 수 있고 추가, 삭제도 가능합니다.

let user = { // user는 객체
    name : 'YS', // 키는 name, 값은 YS
    age : 25 // 키는 age, 값은 25
};

user는 항구
name, age 는 컨테이너
YS, 25 는 내용물입니다.

프로퍼티에는 모든 자료형이 올 수 있습니다.

user.isAdmin = true;

위와 같은 방법을 통해 추가할 수 있습니다.

delete user.age; 

위와 같은 방법을 통해 삭제할 수 있습니다.

객체를 const로 선언했을지라도 객체는 수정할 수 있습니다.

const user = {
    name: 'YS',
};

user.name = 'KJ';

console.log(user.name);

프로퍼티 주의 사항

프로퍼티의 키 값으로 for, let, return 을 사용하면 안됩니다.
객체 사용시 큰 불이익이 있기 때문입니다.
식별자도 사용하지 않는 것이 좋습니다.

in 연산자를 통해 프로퍼티 존재를 확인할 수 있습니다.

자바스크립트 객체의 특징은 없는 프로퍼티에 접근해도 에러가 나지 않습니다.
undefined를 반환합니다.

존재 여부를 확인하기 위해 in 연산자를 활용합니다.

let user = {name: 'YS', age: 25};

console.log("age" in user); // true
console.log("name" in user); // true
console.log("hobby" in user); // false

또 다른 방법

let user = {name: 'YS', age: 25};

let key = "age";
console.log(key in user);

for...in 반복문을 통한 객체 확인

let user = {
    name: 'YS',
    age: 25,
    isAdmin: true
};

for(let key in user){
    console.log(key); // name, age, isAdmin 출력
    console.log(user[key]); // YS, 25, true 출력
}

마지막 한 마디..
객체마다 고유 기능을 제공합니다. 사람들은 Array Type, Date Type이라는 단어를 사용하지만 사실 Array와 Date는 독직 자료형이 아니라 객체형에 속합니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글