javascript (5) 썸네일형 리스트형 JIT(Just In Time Compilation)와 Javascript의 성능 JIT(Just in Time Compilation) : 인터프리터와 컴파일의 장점을 합친 방식Ignition을 이용해서 Interpretation을 해서 Javascript의 Dynamically Typed 특성을 살리며 컴파일 시간을 짧게 가져갑니다.Turbofan을 이용해서 자주 사용되는 코드를 Machine Code로 최적화해서 컴파일 해준다. 해당 코드는 반복적으로 사용 할 수 있습니다.만약 최적화가 잘못되었거나 더이상 필요가 없어지면 다시 Byte Code로 변환합니다.Machine Code와 Byte CodeMachine Code CPU가 바로 읽고 사용할 수 있는 바이너리로 구성된 코드바이트 코드보다 더욱 Low Level의 코드실행이 매우 빠름컴파일이 느림플랫폼에 종속성이 있다. 하나의.. [TIL]엘리스트랙 4주차 1일 자바스크립트 엔진 자바스크립트 엔진은 하나의 메인 스레드로 구성된다. 메인 스레드는 코드를 읽어서 한 줄씩 실행한다. 브라우저 환경에서는 유저 이벤트를 처리하고 화면을 그린다. 동기적 제어 흐름 동기적 제어 흐름은 현재 실행 중인 코드가 종료되기 전까지 다음 줄의 코드를 실행하지 않는 것을 의미한다. 분기문, 반복문, 함수 호출 등이 동기적으로 실행된다. 코드의 흐름과 실제 제어 흐름이 동일하다. 싱글 스레드 환경에서 메인 스레드를 긴 시간 점유하면, 프로그램을 멈추게 한다. 비동기적 제어 흐름 비동기적 제어 흐름은 현재 실행 중인 코드가 종료되기 전에 다음 라인의 코드를 실행하는 것을 의미한다. Promise, Callback function을 호출하는 함수 등은 비동기적으로 실행된다. 코드 흐름과 실.. [TIL]엘리스트랙 Javascript 어떠한 코드가 없어도 자바스크립트를 실행할 때 this , 변수들(Varialbe Object), Scope chain 이 세 가지의 중요한 값을 초기화 한다. ===this => window 변수들(Variable Object) => {} Scope chain => [] 자바스크립트 엔진은 코드가 없어도 실행 환경(실행 컨텍스트)를 초기화한다. === 첫 번째 문단의 말과 동일스코프(scope)는 코드가 실행된 환경,맥락(context)를 의미한다.this 포인터, 스코프에 저장된 변수들, 스코프 체인 등이 환경에 포함된다.this 포인터의 경우, 글로벌 스코프에서는 window를 가리킨다. => this 포인터를 레퍼런스 변수라고 생각해주면 좋음 코드의 실행함수가 실행되면, 함수 스코.. var,let,const Var,let,const 1.변수 선언 방식 선언 -> 초기화 -> 할당 변수=(variable) var는 function-scoped이고, let, const는 block-scoped이다. 우선,var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. var x = 'kkk' console.log(x) // kkk var x = 'zzz' console.log(x) // zzz 변수를 이미 선언한 후에 한번 더 선언을 하였음에도 에러가 나오지 않고 다른 값이 출력된다. 그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선언 방식이 let 과 const이다. 위의 구문을 let 으로 바꾸면 let x = 'kkk' console.log(x) // kkk let x='zzz' console.log(.. 스코프(Scope) - 전역변수와 지역변수 스코프(Scope) - 전역변수와 지역변수 자바스크립트에서 스코프(Scope)는 변수와 함수에 대한 접근 규칙을 정의하는 개념이다. 즉, 스코프는 변수와 함수가 어디서부터 접근 가능한지 결정하게 된다. 스코프는 전역과 지역으로 나뉜다. 전역 스코프(Global Scope) - 어떤 함수 안에서도 선언되지 않는 변수는 전역 스코프에서 선언되어 코드 전역에서 변수와 함수 어디서든지 접근이 가능하다. 지역 스코프(Local Scope) - 함수 내부에서 선언된 변수와 함수는 해당 지역에서만 사용 가능하며, 함수가 실행되면 지역 스코프가 생성되고 함수 종료와 함께 사라진다. globalVar를 전역 변수로 선언 후, localScope안에서 localVar를 지역 변수로 선언한다. 함수를 호출하면 전역과 지역 .. 이전 1 다음