ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript의 JSON
    개발언어/JavaScript 2022. 4. 2. 20:52

    그림1

    JavaScript는 모든 데이터 형태가 Object형태로 만들어지고, 그것을 참조하기 위한 변수가 필요하다.

     

     

    JavaScript 데이터 객체와 JSON 생성 방법

    그림2

    다른 언어에서는 변수 n을 선언하고, true라는 논리 값을 대입한다고 설명하는 것에 반해 JavaScript에서는 대입이라는 개념이 존재하지 않는다. 왜냐하면 JavaScript에서 변수 n은 값을 저장할 수 있는 공간을 가지고 있지 않다.

     

    그래서 JavaScript의 모든 변수들은 참조 변수가 되고, 을 저장할 곳이 없는 참조 변수는 new라는 것을 통해서 Boolean형 객체로 해당 값을 Boxing한다. 변수 n이 그 Boxing된 값 true를 참조하게 한다.

     

    그림3

    그러다 보니 JavaScript는 아주 소소한 정수값 하나를 변수에 담을려고 해도, 객체화 하는 작업을 해야한다.

    (래핑클래스를 통해서 직접 Boxing을 해야한다.)

     

    Notation : (특히 수학·과학·음악에서)표기법[기호]

     

    그림4

    Object 객체

    그림 5

    그림 5의 마지막 방법 같이 하면, exam이라는 객체(Object)가 kor , eng , math 라는 속성을 가지고 초기화 된 상태에서 만들어진다.

     

    Array 배열

    그림 6

    심지어 배열은 초기 값으로 서로 다른 type의 객체를 포함 할 수도 있다. 그림6 처럼 배열의 요소로, Number객체와 Object객체, 또 다른 Array객체(배열안에 배열)도 포함 할 수 있음을 보여준다.

     

    JSON의 중첩 표현

    중첩된 데이터 구조도 쉽게 표현할 수 있다.

    그림 7

    JavaScript가 가지고 있는 객체를 표현하는 방식이 범용적으로 사용되게 되었다.

     

     

    그림 8

    JSON으로 표현된 객체가 변수에 담겼다가 그것의 속성인  title을 꺼내보는 작업은 지극히 정상적인 방식이다.

     

    그림7

    하지만 외부에서 넘겨 받은 file의 경우 그림7과 같이 초기화된 Object 객체가 String 표현되어 올 수도 있다.

    그림7의 notice 변수에 담긴 문자열이 비록 Object객체를 표기하는 방식으로 만들어졌지만, 단지 문자열일 뿐이다.

    즉 notice에 담긴 것은 Object객체가 아니라 문자열이다.

     

    그림7 같은 경우는 notice의 title 속성이 문자열로 출력될 일이 없다.

     

    [출처-https://youtu.be/rFM-cFZPvYw]

    '개발언어 > JavaScript' 카테고리의 다른 글

    Promise 개념부터 활용  (0) 2022.06.09
    비동기 처리의 시작 Callback 이해하기  (0) 2022.06.08
    JavaScript Closure  (0) 2022.04.03
    Eval함수로 JSON파싱 하기  (0) 2022.04.03
    JavaScript의 Object 객체  (0) 2022.04.02

    댓글

Designed by Tistory.