해리의 데브로그

2019년 6월 5주차 TIL

|

2019-06-24

  • 드디어 자바스크립트를 시작, 기본문법부터 정리 및 복습 진행
  • 자바스크립트는 파이썬과 달리 기본적으로 변수를 선언해야하며, 변수선언의 종류는 미세하게 다름
    • let & const : 둘다 변수를 선언하는 keyword 이나, let 은 재할당이 가능하나 const는 불가능
    • var 은 function 스코프이며, letconst 는 block 스코프임
  • 자바스크립트에서는 key와 value가 있는 형태인, JSON과 유사한 Object라는 자료형이 존재함.
  • ===== 의 쓰임새는 다름 (==의 경우 서로다른 타입일 때, 타입을 강제로 형변환함)
  • 삼항연산자를 이용하면 조건문을 좀더 간결히 사용가능함!

2019-06-25

  • 자바스크립트 기본 문법 중 배열 & 함수에 대해 공부를 하였음.
    • length, reverse, push, pop, unshift, shift, includes, indexOf, join, slice
  • object는 파이썬의 딕셔너리처럼, key를 통해 value 값에 접근이 가능. 선언한 변수 또한 objet에서 사용이 가능함
  • 함수는 선언식, 표현식, arrow function 등 여러방법으로 표현이 가능한데, ES6+부터 사용가능한 arrow function 사용법이 매우 흥미롭다.
  • 따로 이름을 없는 함수를 익명함수라고 하는데, 콜백함수가 그대표적인 익명함수임.

2019-06-26

  • 자바스크립트의 Array Helper Methods에 대해서 정리를하였다.
  • 가장 기본적인 반복형태인 forEach 부터 map, filter, every 등 다양한 배열 조작 메서드가있었는데, 그중 특히 reduce 메서드가 많은 기억이 남는다. 수업시간에는 다루지 않았던 메서드인데, 강사님이 시간이 되면 한번 보면 좋다는게 기억이나서, 공식문서읽기 부터 시작해서 정리를 하였다. (이땐 몰랐다. 20분이면 끝날줄 알았던 정리가 2시간이 넘게걸릴 줄은..)
  • 배열의 각 요소에 대하여 주어진 콜백 함수를 실행시키고 결과 값을 반환하는데, 콜백의 반환값을 누적시킬 수도 있으며, 초기값을 새로 주는것도 가능했다. 반복문을 돌면서 콜백을 계속 호출하는 매커니즘이 특이 했다.
  • 잘 활용만 할 수 있다면 활용도가 무궁무진할 것 같은데, 사용법을 확실히 익힐 수 있도록 연습을 많이 해야겠다.( 실제로도 다른 배열 조작메서드(map , filter , find) 를 reduce로 구현이 가능했다)

2019-06-27

  • Event Listener 와 Axios를 통한 요청 보내기를 공부하였음
  • Event Listener는 사용자가 지정한 event가 발생하였을 때, 정의한 코드가 발생하게끔 작동하는 함수를 의미함. 마우스 버튼을 눌렀을 때, 글자가 뜨게한다거나, 키를 눌렀을 때, 창을 띄운다거나 등, 이벤트의 유형에 따라 많은 것을 할 수 있음.
  • Axios는 자바스크립트로 요청을 보내는 복잡하고 지저분한 코드를 손쉽게 요청을 보낼 수 있게 하는 HTTP Client 라이브러리임(결과로 promise 객체를 반환함)
  • 자바스크립트는 싱글 스레드 기반의 비동기적으로 동작하는 언어이다.
    • 싱글스레드: 스레드가 하나라는 의미로, 동시에 하나의 작업만을 철 할 수 있다는 의미
    • 비동기: 코드가 먼저 작성된 순서대로(동기적으로) 코드가 실행되는 것이 아니라, 앞에서 실행된 코드의 작업이 끝나기 전에 뒤의 코드를 읽고 작업이 끝날 수도 있다는 의미임
    • 비동기적으로 동작하지 않는다면, 시간이 매우 오래걸리는 코드가 중간에 있다고 가정할 경우 브라우저는 멈추어버리기 때문에 많은 많은 불편함을 야기할 것임.
  • Axios에서는 이처럼 코드가 비동기적으로 막기 위해서 .then 메서드로 코드를 이어줌.
  • 간단하게 스레드 & 비동기 & Promise 에 대한 개념을 정리했는데, 시간이 날 때 이 개념을 좀 더 상세히 공부하고 MarkDown으로 정리해야겠다.

Comments