JS 공부/이론 정리 5

[JS] 타입스크립트를 내맘대로 써보고 느낀점(함수형에 객체지향 한컵 넣기)

부스트캠프가 끝난지 딱 일주일째 되는 날이다. 기존의 과제들을 타입스크립트로 하나씩 수정해보면서, 정말 좋다고 느낀 장점들과, 귀찮았던 점이 있다. 좋은 점 런타임에서만 알던, 변수의 타입을컴파일단에서 바로 알 수 있다. 자바만 하던 나라면, 그거 당연한거아님?ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 변수 타입도 모르는 프로그래밍 언어가 있나?? 싶었을 것이다. 자바스크립트를 공부해보며, 이게 참 좋은 기능이었다는 것을 느꼈다. (자멘....꽃이 지고 나서야 봄인줄 알았습니다..) 이러한 부분은 내가 함수에서 파라미터를 받을 때, 파라미터를 활용할 때 특히 득을 봤다. 심지어 함수의 반환타입도 설정해줄 수 있어 아주 편했다. 인터페이스를 사용할 수 있다. 사실 이 부분은 내가 자바스크립트에 있는데 써보지 못한 것일 수 있다. ..

[JS] JS에서 비동기처리가 왜 그렇게 중요할까?

heap : 메모리 할당이 일어난다. call stack : 스택프레임이 생성되어 호출된 함수들이 쌓인다. setTimeOut, DOM, HTTP같은건 V8소스에 없다. V8 런타임과 브라우저가 제공하는 웹 API가 존재한다. 브라우저는 DOM, AJAX, timeout, callback queue, event loop를 가지고 있다. JS : 기본적으로 싱글스레드 런타임을 가지고 있다. 즉, 하나의 콜 스택을 가지고 있다. ex : 제곱을 출력하는 기능을 만든다. 구성함수들 곱하기 (a, b) => a * b; 제곱 (n) = > 곱하기 (n, n); 제곱출력기 (n) => console.log(제곱(n)); 콜스택에서 일어나는 일 main 함수 push 제곱출력기 push 제곱 push 곱하기 pus..

[JS] axios? 아씨오?

axios는 자바스크립트에서 비동기 통신방식이다. http의 요청과 응답을 처리할 수 있다. Promise 기반 : 비동기적으로 작업을 처리한다. 요청을 보내고 응답을 기다리기도 하며, then을 이용한 후처리, catch를 이용한 실패시 처리 까지 수행시킬 수 있다. http 요청 메서드 지원 : get, post, patch, delete, put등을 이용해 restful api를 만들 수 있다. 또한 여기서 get, delete과 같은 경우에는 body의 값을 요청에 넣어줄 수 없다는 경험으로 배운 특징이 있다. (대신 헤더, 세팅등은 넣을 수 있다) 요청과 응답 인터셉터 : 요청의 헤더를 json화 시키거나, body에 넣을 객체를 미리 선언한 후 넣어서 처리할 수 있다. 자동 데이터 변환 : 모..

[JS] 호이스팅이 그래서 도대체 뭔데?

이전에 변수들에 대해서 공부하는데, 호이스팅이라는 개념을 몰라서 따로 공부해야했다. 호이스팅이 뭘까? 우리가 쓴 코드를 생각해보아야 한다. 자바스크립트의 모듈에서 함수를 생성했을 때, 그 함수는 실제로 작성된 부분에서 생성된게 아니다. 생성단을 모두 위로 올려두고, 그 이후에 아래쪽에서 해당 부분을 만드는 것이다. 이런 방식의 호이스팅에는 몇가지 문제점이 존재한다. 선언된 변수와 함수가 먼저 선언되었기 때문에, 할당되기 전에 사용될 수 있다는 문제점(?)이 존재한다. 이게 왜 문제일까? 어떻게 보면 이점아닐까? 사용이 원할하잖아!!! 호이스팅은 선언만 끌어올리고 할당은 끌어올리지 않기 때문에 변수에 실제 값을 할당하기 전에는 undefined로 초기화되어 예기치 못하게 오류가 발생하게 할 수 있다 이렇게..

[JS] var, let, const에 대해서 공부해보자.

Var, Let, Const에 대해서 공부를 했어야 했다. 네이버 부스트캠프를 하면서 자바스크립트를 처음 써봤는데, 알고리즘만 풀어보고, 이론에 대해서 공부를 안해봤다. 그래서, 모든 변수를 var로 써버리다가 문제가 생겼었다. 그래서 이걸 대비하기 위해, 해당 내용들을 정리해보았다. 차이점 범위 var : 함수 내에서 선언하면 함수 안에서만, 밖에서면 전역 변수로 할당된다. let : 중괄호로 만들어진 블록 범위에서만 할당된다. const : 중괄호로 만들어진 블록 범위에서만 할당된다. 재선언 var : 같은 범위 내에서 변수를 재선언할 수 있다. let : 같은 범위 내에서 변수를 재선언할 수 없다. const : 변수를 재선언할 수 없습니다. 상수로 취급되며, 선언 시 초기 값을 할당해야 한다. 할..