목록자바스크립트 (3)
우당탕탕
일급 객체란 무엇인가? 자바스크립트로 개발을 하다 보면 일급 객체와 일급 함수라는 말을 많이 듣는다. 일급 객체란 뭘까? 일급 객체(First Class Object) 일급 객체란 다음과 같이 설명할 수 있다. 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다. - 출처: 위키 설명이 어렵다면 일급 객체의 특징을 아래의 예시로 한번 보자 1. 변수(variable)에 담을 수 있다 let mozzi = function() { return "HelloWorld"; } console.log(mozzi()); 변수 mozzi의 경우 HelloWorld가 출력된다. 2. 파라미터로 ..
호이스팅이란? 호이스팅(Hoisting) JavaScript로 개발을 진행하다 보면 호이스팅이라는 말을 들어본 경험이 있을 것이다. 보통은 호이스팅이라 하면 코드가 실행되기 전에 함수, 변수의 선언을 맨 위로 끌어올린다고 설명한다. 하지만 실제로 끌어올리는 것은 아니다. 호이스팅이란 간단하게 말하면 아래와 같이 말할 수 있다. 호이스팅이란 코드가 실행되기 전에 변수 및 함수에 대한 메모리를 설정하는 것이다. 역시 말로만 보면 이해하기 어려울 수도 있으니 밑에 예시 코드를 통해 확인해보자 function hoist(a) { return a+1 } var hoistV = "var hoist" const hoistC = "const Hoist" let hoistL = "let Hoist" 처음 코드가 실행되기..
V8 엔진이란 무엇인가? 어느 날 면접 질문으로 V8엔진에 대해 질문이 들어온 적이 있다. 처음 V8엔진을 들었을 때에는 자동차 엔진인가? 밖에 생각이 들지 않았지만 이후 자바스크립트 엔진인 것을 알게 되었다. V8 엔진이란? V8은 Google Chrome과 Node.js 에서 사용되고 있는 구글에서 제작된 자바스크립트 엔진이다. 이는 C++로 작성되었고 다중 스레드 방식을 사용하며, 환경과 상호 작용하고 프로그램을 실행하기 위한 바이트 코드를 생성하는 역할을 한다. ( 초기의 V8은 웹 브라우저의 성능 향상 메커니즘으로 도입되었다. ) 다른 엔진보다 왜 V8인가? V8엔진과 다른 엔진의 차이점으로는 JIT( Just In Time ) 컴파일러이다. JIT 컴파일러는 런타임에 모든 JavaScript를..