자바스크립트 객체 작성 방법과 json 의 형태에 관하여.
    const param = qs.stringify({
        "grant_type": 'authorization_code',
        "client_id": client_id,
        "redirect_uri": redirect_uri,
        "client_secret": client_secret,
        "code": req.query.code //이 부분이 프론트단에서 req를 통해서 카카오에서 받아온 인가 코드를 넘겨주는 부분. 
    });

 

내가 현재 보고있는 카카오 로그인 관련 서버 파일에서 이런식으로 코드가 작성되어 있는 내용을 볼 수 있었는데, 

이 때에 이 qs.stringify() 속에 들어있는, 

{

    "grant_type": 'authorization_code',

    "client_id": client_id,

    "redirect_uri": redirect_uri,

    "client_secret": client_secret,

    "code": req.query.code

}

부분에서, 이게 객체이고, 이걸 qs 속에있는 stringify 함수를 이용해서 스트링화 해서 url 쿼리문 형태로 만들어주는 함수였는데,  이때에 그렇담 저런식으로 키: 값 형태로 작성되어있는 부분에서 키를 " " 로 감싸도 이게 자바스크립트 객체인지에 대해서 잘 몰랐었는데, 

이에 대해서 json 파일에 대한 내용들을 보다보니까 관련된 내용을 얻을 수 있었고, 

그에 대한 시험도 해보아서 그에 대해서 기록해보력 한다. 

 

위와 같은 예시안에 대해서 접할 수 있었고, 

이와같이, 

내가 일부러 

let aa2= { "name": "pippin", "hometown": "shire" } 형태로 작성한 코드를 typeof로 확인해보니 이것또한 object로 나오는것을 볼 수 있었다. 그러니까 객체를 생성할때 키값을 " " 로 감싸더라도 전혀 문제가 없는 것이다. 

그러니까 다음에도 혹시 이번에 내가 참고하고 있는 서버 코드를 보듯이, 객체에서 키값을 " "로 감싸더라도 이게 자바스크립트에 있는 오브젝트 라는것을 잘 파악하도록 하자. 

 

아직 자바스크립트에 대해서 이해의 깊이감이 낮기 때문에 코드를 해석하고 이해하는데 굉장히 오랜 시간이 걸리고 있지만, 계속 이런식으로 하다 보면 뇌가 적응해서 금방 해석능력과 코드를 작성하는 능력이 향상 될 수 있을것 같다. 

한번 꾸준하게 해나가보도록 하자. 

 

아 그리고 stringify를 통한 직렬화에서

그동안 직렬화라는것에 대해서 잘 이해하지 못하고 있었던것 같은데

이 부분을 보면, 

결국 직렬화란 객체를 스트링화 하고, 보기 편하게 인덴트나 줄바꿈이 있던것처럼 보기 편하게 있던것을 싹 제거해서 쭉 한줄로 만들어버리는 것이라는걸 알게되었다.  이걸 인터넷 상에서 이러한 string을 주고 받은뒤, 다시 받은다음에는 이렇게 한줄로 쭉 글자들로만 이어져있는 string을, 다시 deserialization을 통해서 객체 형태로 만들어주면 각각의 객체의 프로퍼티에 접근할 수 있어서 데이터를 주고받고, 그 데이터를 통해서 정보를 가공해서 처리하기 쉽게 만들어주는 방법이라고 보여진다. 

이제 좀 더 이런 형태로 인터넷 상에서 데이터를 주고받는것을 이해할 수 있을것 같다. 

알면 알수록 네트워크와 http 프로토콜에 대해서 더욱 깊게 알고싶고 알아야 겠다는 생각이든다. 

틈날때마다 공부해보도록 하자. 

 

  Comments,     Trackbacks