자바스크립트
-
[JS] Web API공부 2021. 10. 6. 21:45
최근 추가 된 Web API 블루투스 API를 통해 IoT기기와 연결할 수 있는 웹사이트를 만들 수 있다. push API를 통해 웹 사이트에서 푸쉬 알림을 보낼 수 있다. 사이트가 로딩 되지 않았거나 그냥 배경에만 있어도! Contact picker API를 통해 연락처에 접근할 수 있다. 원래는 네이티브 앱에서만 가능했지만 이 API를 통해 웹 사이트에서도 가능해졌다. Shape detection API를 통해 얼굴을 인식하고 바코드를 조회하고 이미지에서 텍스트를 추출할 수 있다. 이것 또한 네이티브 앱에서만 가능했었다. Sensor API로 디바이스의 장소, 위치, 가속도 등에 접근 가능하다. 이는 webXR API와 함께 사용하면 좋다. webXR API는 webVR API의 새버전인데 이를 활용..
-
[JS] 실행 컨텍스트(Execution Context)공부 2021. 10. 1. 18:03
실행 컨텍스트 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리. 코드가 실행되고 있는 범위에 대한 개념. 1. 실행 컨텍스트의 세가지 타입 Global Execution Context 자바스크립트 엔진이 스크립트 파일을 실행하기에 앞서 가장 먼저 글로벌 실행 컨텍스트가 생성됨. 프로그램에 오직 하나만 존재. Functional Execution Context 글로벌 컨텍스트가 코드를 실행하다가 함수 실행문을 만나면 함수 실행 컨텍스트가 생성되고 스택에 쌓임. Eval function Execution Context 자바스크립트 환경에서는 잘 사용하지 않음. 2. 실행 스택 흔히 실행 컨텍스트를 구성하는 방법은 함수를 실행하는 것...
-
[JS] 자바스크립트에서 비동기가 가능한 이유공부 2021. 9. 23. 22:52
1. 동기 서버에 요청을 보낸 후 응답을 받아야만 다음 동작이 이루어지는 방식. 2. 비동기 서버로부터 데이터를 받아와서 뿌려줘야 할 때, 데이터를 받아오기까지 시간이 걸림. 이를 동기로 하면 데이터를 받아오기까지 기다린 다음 앱이 실행됨. 서버에서 가져오는 데이터 양이 많을수록 앱의 실행 속도는 느려지면서 UX가 좋지 않게 됨. 따라서 이를 비동기로 처리하는데, 데이터를 수신하는 코드와 페이지를 표시하는 코드가 비동기적으로 처리되어 앱이 바로 실행될 수 있음. firebase, web API등을 쓸 때 필요. 3. 자바스크립트에서 비동기가 가능한 이유 자바스크립트는 싱글스레드로 동작하는 언어이기 때문에 비동기가 안됨. (?) 자바스크립트 엔진은 [메모리힙 + 콜스택] 으로 구성되어 있음. 싱글스레드는 ..
-
[JS] var, let, const - 스코프, 중복선언, 재할당, 호이스팅공부 2021. 9. 15. 12:04
스코프 중복선언 재할당 호이스팅 var 함수레벨 O O O let 블록레벨 X O X const 블록레벨 X △ X 스코프 함수레벨 스코프 함수 내수에서 선언된 변수는 함수 내부에서만 유효. 즉, 함수 내부에서 선언한 변수는 지역변수이고 함수 외부에서 선언한 변수는 전역 변수. 블록레벨 스코프 코드 블록( { } ) 내에서 선언된 변수는 코드 블록 내에서만 유효. 즉, 코드 블록 외부에서 참조할 수 없다. 중복선언 var는 중복선언이 가능해 예기치 못한 값을 반환할 수 있다. var는 함수레벨 스코프라, 함수 외부에서 선언된 변수는 모두 전역변수다. 변수 선언문 이전에 변수를 참조하면 언제나 undefined를 반환한다. 이러한 var의 문제점을 해결하기 위해 중복 선언이 불가능한 let과 const 등..