Object

이용원·2022년 11월 3일
0

JAVASCRIPT

목록 보기
4/34

Object (객체 리터럴)

배열처럼 여러 데이터 조각을 저장함

배열에서는 첫번째, 두번째, 세번째 하는 데이터의 순서가 중요하지만
object(객체 리터럴)에서는 키-값(key-value) 또는 프로퍼티를 이용해 데이터 저장

프로퍼티는 두개의 정보가 모인 건데 레이블과 같은 키와 값으로 구성된다.

PROPERTY = KEY + VALUE ;

KEY로 VALUE를 불러올 수 있다.

//오브젝트 생성 방법
const person = {

    heigth      : 187,
    hairColor   : 'blue',
    e_mail      : 'dddd@naver.com',
    hobby       : ['축구', '야구', '게임'],
    country     : {
                    city : 'seoul'
                    }
}
console.log(person)

//오브젝트에 데이터 접근 방법 오브젝트명.key
console.log(person.heigth); // 187
console.log(person.hobby[0]); //오브젝트 안에 배열의 값도 접근 가능 '축구'
console.log(person.country.city); //오브젝트 안에 오브젝트의 데이터도 접근 가능 'seoul'

//데이터를 밖에서 참조하여 value값을 바꿀 수 있다.
person.heigth = 175;
console.log(person)


//[""]로 데이터에 접근하는 방법
console.log(person["heigth"]); // 175
console.log(person["hobby"][0]); // '축구'
console.log(person["country"]["city"]); // 'seoul'


//키값이 숫자라도 [""]를 이용해서 접근 가능
console.log(years['2030']) or console.log(years['2030'])

//키의 값이 숫자일 때 오브젝트. 으로 접근하면 오류가 남 자동으로 []가 씌워짐
console.log(years[1999])

//key 값이 숫자일 때만 가능 key 값이 문자열일 때는
console.log(years[height])는 왜냐하면 height를 단순 변수라고 생가
							오류 발생 ""을 써줘야함
/**
 * 객체가 생성될 때 모든 키들의 타입은 stirng으로 변환됨 //value값의 타입이 변하는 것이 아니라 key의 타입이 string으로
 */

.으로 접근하는 것이 더 편하게 보이고 [""]은 구려보이지만
만약 변수를 이용해서 오브젝트 값에 접근하려면 [""]으로 접근해줘야한다.

변수의 값이 접근하려는 오브젝트의 key값이랑 같으면 [""]로 접근할 수 있다.

const years = {
        1999    :   'good',
        2020    :   'bad',
        2030    :   '?',
}
// years의 2020키값과 변수 birthYear의 값과 같다
let birthYear = 2020;
console.log(years[birthYear]); // "bad"

//.으로 접근한 경우

console.log(years.birthYear); //undefined가 리턴된다.



0개의 댓글

관련 채용 정보