JavaScript(5)
-
Async/Await
Async Await은 프로젝트 하면서 수없이 써본것 같다. 대부분 함수 내에서 DB에 어떤 요청을 하는 코드에서 썼다. DB에 요청하고 그 처리가 완료될때까지 대기 후 결과를 받아야 하기 때문이다. async function showWorkSpaces(req, res) { try { const workSpaceList = await workSpace.find({}); return res.status(200).json( workSpaceList ); } catch (err) { return res .status(400) .json({ success: false, message: "전체 워크스페이스 조회 실패" }); } } Async는 그냥 함수 앞에 붙여주면 된다. 뭔가 기능을 선언해주는 느낌으로 ? ..
2022.09.04 -
웹브라우저의 동작원리 Stack, Queue
우리가 작성하는 자바스크립트는 브라우저가 실행을 시켜준다. 쉽게 말해 HTML, CSS, JavaScript를 해석해주는 엔진이다. 용어 정리 Heap : 변수들이 저장되는 공간 Stack : 작성한 코드를 실행해 주는 곳 (하나이기 때문에 자바스크립트는 Single thread 라고 한다.) Queue : 대기끝난 코드를 Stack에 보내는 공간 Stack 이라는 공간에는 구현한 코드가 한줄 한줄 쌓인다. 구현한 코드 내에 선언한 변수들은 Heap이라는 공간에 쌓인다. Stack은 하나 뿐이기때문에 한 번에 코드 하나밖에 실행할 수 없다. 그래서 자바스크립트는 전문용어로 single threaded 라고도 한다. 병렬처리X setTimeout을 이용해서 체감하기 console.log(1+1); set..
2022.08.22 -
Prototype(1)
Only 자바스크립트만 constructor 말고 상속기능을 구현할 수 있는 장치가 있다. = 프로토타입(유전자) 함수를 만들면 prototype이라는 항목이 안에 생성된다. 위에 보면 Student라는 클래스에 prototype이라는 항목이 안에 생성되어있고 gender 를 '바다생물'로 정의해주자 클래스로 부터 생성되는 인스턴스는 모두 이를 상속받게 된다. 학생1.gender는 이제 바다생물이다. 자바스크립트에서는 오브젝트에서 값을 출력할 때 이런 순서로 진행된다. 1. 학생1에 직접 gender라는 값이 있는가? 2. 그럼 부모 유전자에 gender 라는 값이 있는가? 3. 그럼 부모의 부모 유전자에 gender라는 값이 있는가? ... 계속 타고올라간다는 뜻 console.log(학생1.toStr..
2022.08.19 -
this
window : javascript 기본함수 수납공간, 전역 오브젝트 느낌 this는 오브젝트 내 함수안에서 쓰면 그 함수를 가지고 있는 오브젝트를 뜻한다.
2022.08.10 -
Javascript의 특징 ?(1)
느슨한 타입(loosely typed)의 동적(dynamic) 언어 자바스크립트를 배운 지 얼마 안 됐지만, 알고리즘 문제를 풀면서 가장 어이없던 풀이에 문자열과 정수를 더할 수 있다거나 문자열을 정수로 만들 때 1을 곱하거나 나눠준다던가 하는 것들이다. C는 변수 선언할 때 자료형은 꼭 짚고 넘어가는 부분이었는데, 물론 자료형이 없는 것은 아니지만 자바스크립트에서는 변수 선언할 때 자료형을 정해주지 않아도 된다. 변수에 저장되는 값의 타입을 언제든지 바꿀 수 있는 언어를 동적 언어, 느슨한 타입이라고 한다. 그래서 딱히 형 변환을 한다는 느낌보다 집어넣는 대로 그 변수의 타입을 결정한다. 🧐 느슨한 타입이라서 문제점? 아래에서도 같은 내용이 쓰이겠지만 , 자바스크립트 특성상 자동형 변환을 하게 되니 현..
2022.05.18