객체 Object

잔잔바리한접시·2022년 3월 4일
1

javascript

목록 보기
5/10
post-thumbnail

객체

객체란 여러 속성을 하나의 변수에 저장할 수 있게 해주는 데이터 타입으로 key-value pair를 저장할 수 있는 구조다.

객체 구문

let uid = new Object();
let uid = {};

<예시>

  • 이름: hoon
  • 나이: 26

    key: "이름", "나이"
    value: "hoon", 26

let uid = {
	name: "hoon",
    age: 26
}

프로퍼티(Property)

프로퍼티는 접근 가능한 값인 Key와, 활용 가능한 값인 vaule를 가지는 구조다.

key: 빈 문자열을 포함한 모든 문자열 및 기호
value: 모든 값

프로퍼티의 추가

프로퍼티의 추가는 .연산자를 통해 가능하다.

let foo = {}; // foo 객체 생성
foo.a = 1; // .연산자를 통해 a라는 이름의 프로퍼티 생성하며 1이라는 값 할당
let sum = foo.a + 1; // .연산자를 통해 foo 객체의 a 프로퍼티에 접근하여 해당 값을 활용

console.log(sum); // 2

프로퍼티 추가시 주의해야 할 점

Javascript에서는 사용하는 변수의 값을 할당하지 않고 선언만 하는 경우 자동으로 undefined를 할당한다. 하지만 정보를 담고 있어야 하는 프로퍼티가 값을 할당받지 않았다면 객체로서의 역할을 수행하지 못하기 때문에 Syntax Error가 발생한다.

프로퍼티의 삭제

Javascript의 프로퍼티는 null 혹은 undefined를 할당한다고 삭제되지 않는다. 프로퍼티를 삭제하기 위해서는 delete 연산자를 활용하여야 한다.

let foo = {};
foo.name = "hoon";
console.log(foo.name); // "hoon"

foo.name = null;
console.log(foo.name); // null

delete foo.name;
console.log(foo.name); //undefined

객체 접근

let uid = {
	name : "hoon",
    age: 26,
    gender: "male"
}

let userName = uid["name"];
let userAge = uid["age"];
                  
console.log(userName); // "hoon"
console.log(userAge); // 26

let userName = uid.name;
let userAge = uid.age;

console.log(userName); // "hoon"
console.log(userAge); // 26

객체 수정

let uid = {
	name: "hoon",
	age: 26
}

console.log(uid.age); // 26

uid.age = 20; // 객체 수정 uid["age"] = 20; 도 가능

console.log(uid.age) // 20

프로퍼티 조회

in 연산자를 통해 객체에 프로퍼티가 존재하는지 확인할 수 있다.

let uid = {
	name: "hoon",
	age: 26
}

console.log("name" in uid); // true
console.log("gender" in uid); // false

모든 프로퍼티 조회

let uid = {
	name: "hoon",
	age: 26
}
for(let key in uid){
 	console.log(`key는 ${key}, value는 ${uid.key}입니다.)` 
}
// key는 name, value는 hoon입니다.
// key는 age, value는 26입니다.ㄷ

0개의 댓글