객체는 이름과 값을 한쌍으로 묶은 데이터를 여러 개 모은것이다. 자바스크립트로 객체를 생성하는 방법은 두가지이다. 객체 리터럴을 사용하는 것과 생성자 함수를 사용하는 것이다.
let user = { // 객체
name: "John", // 키: "name", 값: "John"
age: 30 // 키: "age", 값: 30
};
객체에 포함된 데이터 하나(이름과 값의 쌍)를 가리켜 객체의 프로퍼티라고 부른다.
:를 기준으로 왼쪽은 키라고 부르며 오른쪽은 값이라 부른다. 또한, ,
로 각 프로퍼티를 구분한다
user.name=john;
점 표기법을 사용하면 프로퍼티값을 읽는게 가능하다.
delete user.age;
앞에 delete를 써서 age를 지우는 것도 가능하다.
const 문은 블록 유효범위를 가지며 한 번만 할당할 수 있는 변수(상수)를 선언한다.
const c=2;
c = 5; //error
위 처럼 const문으로 선언한 변수에 다시 대입을 시도하면 오류가 발생한다.
const origin = {x:1, y:2};
origin.x = 3;
console.log(orgin) // {x:3, y:2}
const문으로 선언한 상수 값은 수정할 수 없지만, 상수 값이 객체이거나 배열일 경우에는 프로퍼티 또는 프로퍼티 값을 수정할 수 있다.
let user = { name: "John", age: 30 };
alert( "age" in user ); // user.age가 존재하므로 true가 출력된다.
alert( "blabla" in user ); // user.blabla는 존재하지 않기 때문에 false가 출력된다.
in
을 사용하면 객체안에 프로퍼티 존재 여부를 파악할 수 있다.
let user = {
name: "John",
age: 30,
isAdmin: true
};
> for (let key in user) { //let으로 변수 key를 만듦
alert( key ); // name, age, isAdmin 키에 해당하는 값
alert( user[key] ); // John, 30, true
for...in문을 사용하여 키 또는 값을 한번에 출력할 수 있다.