본문 바로가기

JavaScript19

자바스크립트 개발자가 알아야할 33가지 개념[#14. Factorise and Classes] Class 자바스크립트에서의 클래스는 프로토타입을 기반으로 만들어진 특수한 함수이다. 따라서 함수를 정의하듯 클래스 선언과 표현식으로 정의 할 수 있다. Class Declaration class 키워드를 사용해 클래스 선언을 통한 정의가 가능하다. function키워드를 통한 함수 선언은 호이스팅이 일어나지만 class키워드를 통한 클래스 선언은 클래스를 사용하기 전에 선언 해야한다. 클래스 표현을 통한 클래스 정의는 클래스 이름을 가질 수도 있고, 그렇지 않을 수도 있다. 클래스 표현식으로 정의된 클래스 이름은 함수 표현식과 마찬가지로 내부 범위에서만 유효하며 사용된 클래스 이름은 외부 범위에서 접근 불가하다. Strick Mode 클래스 내부(body)는 strict mode로 실행된다. 성능 향상.. 2022. 5. 27.
자바스크립트 개발자가 알아야할 33가지 개념[#13. DOM and Layout Trees] 웹 개발은 웹 브라우저와 밀접한 연관이 있다. 모든 서비스는 사실 브라우저를 바탕으로 실행이 된다고 봐도 과언이 아니다. 이 브라우저와 관련된 객체 모델(Browser Object Model, BOM)이라고 하고 BOM을 이용해 브라우저 관련된 기능을 구성한다. DOM은 이BOM중 하나이다. DOM (Document Object Model) 텍스트 파일로 만들어져 있는 웹 문서를 브라우저에 렌더링하려면 웹 문서를 브라우저가 이해할 수 있는 구조로 메모리에 올려야 한다. 브라우저의 렌더링 엔진은 웹 문서를 로드한 후, 파싱하여 웹 문서를 브라우저가 이해할 수 있는 구조로 구성하여 메모리에 적재하는데 이를 DOM이라 한다. 즉 모든 요소와 요소의 어트리뷰트, 텍스트를 각각의 객체로 만들고 이를 객체를 부자 .. 2022. 5. 25.
자바스크립트 개발자가 알아야할 33가지 개념[#12. Bitwise Operator(비트 연산자)] Bitwise Operator 비트(bit) : 기술적으로 컴퓨터는 숫자나 문자, 문자열로 작동하는 것이 아니라 이진 숫자(비트)만 사용한다. 그리고 UTF-8과 같은 인코딩을 사용해 저장된 비트 조합을 숫자, 문자, 다른 기호에 매핑한다. UTF-8 유니코드를 인코딩(encoding)하는 방식이다. 전세계에서 사용하는 약속이다. 유니코드 : 전세계 언어를 모두 표시할 수 있는 표준코드를 만들기로 했다. 바로 유니코드(Unicode)다. 자바스크립트에서 9,007,199,254,740,991까지의 범위 (64비트의 환경)를 가진 모든 정수들은 toString(2)메소드를 통해 이진 문자열로 표현 될 수 있다. 비트 연산자를 이용하면 이진 문자열을 직접 비교/조작 할 수 있다. 형식화 배열 형식화 배열(t.. 2022. 5. 24.
자바스크립트 개발자가 알아야할 33가지 개념[#11. JavaScript Engines] 자바스크립트 엔진이란? 자바스크립트 엔진은 자바스크립트 코드를 해석하고 실행하는 인터프리터이다. 대중적으로 알려진 엔진은 구글의 V8엔진인데, 아무래도 가장 많이 사용되는 크롬에서 사용되고, Node.js에서 사용되는 엔진이기 때문이다. SpiderMonkey : 파이어폭스 V8 : 크롬 Webkit : 사파리 Chakra : 익스플로러, 엣지 Node.js와 npm Node.js는 크롬 V8자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다. 간단히 말해 브라우저에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서 동작시킬 수 있는 자바스크립트 실행 환경이 Node.js이다. Node.js는 주로 서버 사이드 애플리케이션 개발뿐만 아니라 프론트엔드 영역의 다양한 도구나 라이브러리도 Node.js.. 2022. 5. 21.