JS/Javascript 14

[JS] 자바스크립트 스코프 ? : 변수의 유효 범위

자바스크립트는 다른 프로그래밍 언어와는 다르게 전통적으로 함수 레벨 스코프를 지원하였고, 블록 스코프는 지원하지 않았다. ES6 이후부터 let, const가 등장하면서 블록 레벨의 스코프를 지원하기 시작했다. 유효 범위 (Scope ) ? 프로그램이 커질 수록, 선언된 변수가 많아질수록 여러가지 이유로 충돌이 발생할 수 있다. 이때 변수 사이의 충돌을 방지할 수 있도록 암시적으로 구분해놓은 것을 유효 범위라고 한다. 즉, 해당 변수를 사용할 수 있는 범위를 유효범위라고 한다! 변수는 선언 위치에 따라 변수를 참조할 수 있는 범위가 달라진다. 전역 변수 (global variable) 통상적으로 프로그램의 내부 (함수 내부, 외부) 어디서든 사용할 수 있는 변수를 의미한다. 지역 변수 (local var..

JS/Javascript 2021.07.29

[JS] 자바스크립트 엔진 V8

자바스크립트 엔진 ? 자바스크립트는 인터프리터 언어로 코드 해석하고 실행하기위한 엔진이 필요하다. 즉, 자바스크립트 엔진이란 JS 코드를 번역해 실행할 수 있게 해주는 인터프리터를 의미한다. SpiderMonkey, JavaScript Core, Rhino, V8 를 포함한 다양한 JS 엔진이 존재한다. V8 엔진 구글에서 제공하고, 클라이언트(Chrome)와 서버(Node.js)측 모두에서 사용하는 C++로 작성된 오픈소스 고성능 자바스크립트 엔진이다. 구글 크롬 웹 브라우저를 개발하면서 함께 개발한 엔진으로 웹 브라우저 내부에서 자바스크립트 수행 속도향상을 목표로 고안되었기 때문에 속도가 빠른 편이다. V8 엔진의 속도가 빠른 이유 ? (tmi - V8 엔진은 이름부터 8기통의 엔진이다.) 인터프리터..

JS/Javascript 2021.07.29

[JS] HTML에서 <script> 태그의 위치 ?

태그는 내에 혹은 최하단에 위치할 수 도 있지만 보통 태그의 최하단에 를 위치하는 것이 좋다고 한다. 그렇다면 왜일까? 1. 첫번째 이유를 알아보기 전에 우선 브라우저 동작 과정을 간단하게 다시 한 번 상기시켜보자. HTML parser -> DOM tree CSS parser -> CSSOM DOM + CSSOM => Render tree Layout Paint 일련의 과정 중, HTML 파싱 과정에서 script 요소를 만나게 되면 ? HTML 파서는 파싱을 멈추고 자바스크립트 코드를 로드 후 파싱이 완료되고 나서야 다시 HTML 파싱을 재개한다. => 이렇게 중단되며 화면 표시에 지연이 생기는 것을 방지하기 위해 body 최하단에 작성한다. 2. 두번째 이유는 자바스크립트 코드 내에서 DOM을 조작..

JS/Javascript 2021.07.28

[Javascript] 자바스크립트 배열 정렬 함수 : Array.prototype.sort()

[Javascript] 프로그래머스 : K번째수 [Javascript] 프로그래머스 Level1 _ K번째수 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) 1. 일단 for반복문으로 구성하면서 문제를 파악해봤다. commands 의 내부 배열이 1개 이상이 emayom.tistory.com 프로그래머스의 👆🏻문제를 풀면서 sort()에 대해 몰랐던 사실을 알게되어 따로 정리하며 포스팅하려고 한다. 자바스크립트는 알면 알 수록 재미있는 것 같다 ! Array.prototype.sort() Syntax arr.sort([compareFunction]) Parameter compareFunction (Optional) 정렬 순서를 정의하는 함수 Return value Array ..

JS/Javascript 2021.07.04