[Javascript] 객체 리터럴

이대희·2021년 1월 18일
0
post-thumbnail

객체

객체는 이름과 값을 한쌍으로 묶은 데이터를 여러 개 모은것이다. 자바스크립트로 객체를 생성하는 방법은 두가지이다. 객체 리터럴을 사용하는 것과 생성자 함수를 사용하는 것이다.

객체 리터럴

let user = {     // 객체
  name: "John",  // 키: "name",  값: "John"
  age: 30        // 키: "age", 값: 30
};

객체에 포함된 데이터 하나(이름과 값의 쌍)를 가리켜 객체의 프로퍼티라고 부른다.
:를 기준으로 왼쪽은 키라고 부르며 오른쪽은 값이라 부른다. 또한, ,로 각 프로퍼티를 구분한다

user.name=john;

점 표기법을 사용하면 프로퍼티값을 읽는게 가능하다.

delete user.age;

앞에 delete를 써서 age를 지우는 것도 가능하다.

상수 const

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가 출력된다.

for..in 문

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문을 사용하여 키 또는 값을 한번에 출력할 수 있다.

0개의 댓글