'자바스크립트의 모든것이 객체다'
라는말이 있을정도로 자바스크립트 에는 객체가 녹아있당
객체(Object)
지금까지는 변수에 문자열 하나 숫자열 하나 불린형 하나
이런 식으로 값을 하나씩만 저장했는데
만약 여러가지 값을 한번에 저장하고 싶다면
객체를 이요하면 된다
이렇게 중괄호로 구분해서
'woooonikk', 1999, true, null 같은 값을 Value 라고 부르고
brandName ,bornYear,isBeryNice, worstCourse 같은 값의 이름을 Key 라고 부른다
그리고 key value의 한쌍을 개체의 속성 영어로는 Property 라고 부른다
그래서 key를 property name 이라고도 부르고 value를 property value 라고도 부른다
key(property name)는 문자열(String) 타입을 가지고 있다 그래서 작성할때 ' '으로 감싸줘야 하지만 ' ' 을 생략하더라도 자바스크립트가 암묵적으로 형변환을 하기 때문에 일반적으로는 생략하고 작성한다
그리고 주의사항이 있는데
첫번째 글자는 반드시 문자, 밑줄(_) 달러기호($) 중 하나로 시작해야한다
두번쨰 띄어쓰기는 금지한다
세번쨰 하이픈(-)금지이다
따라서 만약 불가피하게 사용하게 될경우 ' '를 붙여준다 그러면 사용이된다
그리고 value는 모든 자료형(문자,숫자,불린,null)이 가능하다
심지어 객체를 넣을 수도 있다
이런 식으루
그리고 typeof 연산자로 콘솔에 출력해보면
이 나온당 ㅎㅎ
객체에서 데이터 접근 하는방법!!
점표기법
이렇게 객체이름 다음에 .(마침표)를 찍고 propertyName을 입력하는 방법이당
점 표기법은 객체의 프로퍼티에 접근하는 가장 간단하고 많이 사용되는 방식이다 저장하고 실행해보면
1999 잘나오네
근데 점표기법의 문제점은 따옴표를 생략할 수 없는 propertyName으로는 접근이 불가하다
만약에 불가피하게 띄어쓰기를 해야해서 따옴표 ' ' 를 붙여줬다면 점표기법으로는 접근할 수 없당
그럴땐
대괄호 표기법
이렇게 객체이름 다음에 대괄호를 열고 그안에 propertyName을 문자열로 작성해주는 방식이다
대괄호와 따옴표를 작성한느 것이 번거롭긴 하지만 대괄호를 사용하면 propertyName을 좀더 유연하게
구성할 수 있다는 장점이 있다 이렇게 띄어쓰기나 숫자로 시작하는 프로퍼티에 접근이 가능하기도하고
대괄호를 열면 propertyName을 문자열로 만들 수 있는 어떤 방법이든 사용이 가능하다
신기하다 변수에 값을 활용하기도 하고 저렇게 문자열 더하기 해도 잘 찾아서오네
그럼이제 객체안에 객체는 어떻게 접근해야할까?
propertyname을 계속 연결해서 가지고 오면 된다
이렇게
만약에 점표기법으로 접근할 수 없는 경우라면?
이렇게 대괄호 표기법으로 사용하여 접근한다
이렇게 프로퍼티 네임의 형태에 따라서 적절한 방식을 잘 활용해서 가져오면 된다
만약 존재하지 않는 프로퍼티에 접근하려고하면
이런식으로
오류가 나지 않고 undefined이 나온당!!
실습
'javascript' 카테고리의 다른 글
객체와 메소드 (0) | 2023.04.06 |
---|---|
객체2 (0) | 2023.04.06 |
피보나치 수열 (0) | 2023.03.08 |
break continue (0) | 2023.03.08 |
while (0) | 2023.03.06 |