Judaeng

🍒What I did today(오늘 한 일) 본문

Daily/TIL(Today I Leared)

🍒What I did today(오늘 한 일)

Judaeng 2021. 2. 15. 23:32

✅JSON Study
JSON(JavaScript Object Notation)은 '데이터 교환'을 위해 만들어진 표현식이다.

문법은 Javascript 객체, 실체는 문자열이라고 생각하면 된다. 

JSON.stringify()는 받은 데이터를 JSON 형태로 직렬화(serialization)해주겠다는 의미이다.

Javascript 객체, 배열을 JSON 문자열로 변환하는 것이다.

반대로 JSON.parse()은 JSON 문자열로 변환된 데이터를 분석하여 원래의 Javascript 값이나 객체를 생성하는 역직렬화를 한다.

이처럼 JSON은 서로 다른 프로그램 사이에서 데이터를 교환하기 위한 포맷이며, 단순히 자바스크립트에서만 쓰이는 것이 아닌, 여타 다른 언어에서도 범용적으로 쓰이는 아주 유명한 포맷이다.

 

StringifyJSON 함수로 구현하기

Javascript 객체를 JSON 형식으로 변경할 수 있도록 하는 메서드인 JSON.stringify()를 직접 함수로 구현해봤다.

입력값으로 들어갈 수 있는 값들은 number, string...등 다양한 데이터 타입을 갖기 때문에 각각 맞는 형식을 지정해 출력하도록 해주었다.

객체타입을 입력 받았을 때는 재귀를 사용했는데, 그 이유는 객체의 값으로 들어가는 값들이 또 다시 다양한 데이터 타입을 가질 수 있기 때문이었다.

이런식으로 Javascript의 객체를 JSON 형식으로 변환하는 함수를 완성할 수 있었다.

또 JSON 구조가 어떤식으로 재귀 함수를 사용하는지, 왜 Tree 구조라고 하는 건지도 이해할 수 있었다.

 

Tree UI 구현하기

Tree구조를 표현한 UI를 재귀 함수를 통해 구현해보았다.

ul, li, input(checkbox), span 태그를 이용했는데, 재귀함수를 사용할 때 ul과 li의 관계가 중요한 역할을 했다.

하위 목록이 없을 때까지 현재 ul에 다음 li를 붙이는 방식을 생각하고 최종적으로 완성할 수 있었다.

appendChild를 li 안에 넣는 방식으로 마지막에 이해하는데 어려움이 있었지만 수많은 주석을 통해 이해했다💧

for..in.. (객체), for..of...(배열) 의 차이도 정확히 알고 넘어가는 날이었던 것 같다.

 

🍒Remember(기억할 것)


input[type='checkbox'] 체크여부 확인

checkbox 속성 중 checked는 checkbox의 check 여부를 true, false 형태로 저장하는 속성이다

 

✅JSON 규칙

Javascript: key(따옴표 없어도됨), values(" ", ' ' 사용 가능), 키와 값 사이, 키-값 쌍 사이 공백 허용 O
JSON:
key(반드시 " " 붙이기), values(반드시 " " 붙이기), 키와 값 사이, 키-값 쌍 사이에는 공백 허용 X

  자바스크립트 객체 JSON
키는 따옴표 없이 쓸 수 있음 반드시 쌍따옴표를 붙여야 함("")
문자열 값 문자열 값은 어떠한 형태의 따옴표도 사용 가능 반드시 쌍따옴표로 감싸야 함

 

🍒More Study


✅Coplit 문제 복습 및 풀기

✅fetch API

 

 

2021-02-15


✏️아는 것이 힘이라고 어디선가 들었던 것 같다. 근데 요새 공부를 하면서 많이 와닿는 말인 것 같다.

그리고 공부하는 내용을 복습하고 그 다음 날은 더 많이 공부하고 복습하고 이게 반복이 되면서 점점 시간이 부족하다는 걸 느끼고 있다. 처음에는 이런 생각을 해본적도 없고 하게 될꺼라고 생각도 안했는데..😥

많이 알면 좋겠지만, 당장 필요한 지식이 아니라면 건너뛰고 효율적으로 공부하는 것이 나는 맞다고 생각하는 사람 같다.

계속 하고 있었던 일을 파고들어가는 것은 좋다고 생각한다. 하지만 시간은 많은게 아니니까ㅎ

 

✏️벌써 4주라는 시간이 지난 것 같은데 그 동안 배웠던 내용, 개념들을 꾸준히 복습을 안하다보니 문제들도 여전히 어려운 것 같다. 정말 공부하는 습관이라는 것을 만들어야 하나보다.

문제들을 꾸준히 풀어보면서 접근하는 방식을 넓혀야겠다라는 생각을 많이 한다.

Comments