[Deep Dive] 15 장 let, const 키워드와 블록 레벨 스코프
15.1 var 키워드로 선언한 변수의 문제점 ES5 까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었다. var 키워드로 선언된 변수는 다음과 같은 특징이 있다. 이는 다른 언어와는 구별되는 독특한 특징으로, 주의를 기울이지 않으면 심각한 문제를 발생시킬 수 있다. 15.1.1 변수 중복 선언 허용 var 키워드로 선언한 ...
15.1 var 키워드로 선언한 변수의 문제점 ES5 까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었다. var 키워드로 선언된 변수는 다음과 같은 특징이 있다. 이는 다른 언어와는 구별되는 독특한 특징으로, 주의를 기울이지 않으면 심각한 문제를 발생시킬 수 있다. 15.1.1 변수 중복 선언 허용 var 키워드로 선언한 ...
CSS 방법론에는 OOCSS, BEM, SMACSS 등이 있습니다. 그 중 BEM 방식!! 1. BEM의 기본 구조 BEM은 Block, Element, Modifier를 뜻한다. 이 세 가지로 구성된 이름을 짓는 것을 말한다. 그리고 각각 __ 와 – 로 구분한다. .header__navigation--navi-test{ color: red; ...
전역 변수의 무분별한 사용은 위험하다. 전역 변수를 반드시 사용해야 할 이유를 찾지 못한다면 지역 변수를 사용해야 한다. 이번 장에서는 전역 변수의 문제점과 전역 변수의 사용을 억제할 수 있는 방법을 살펴보자. 14.1 변수의 생명 주기 14.1.1 지역 변수의 생명 주기 변수는 선언에 의해 생성되고 할당을 통해 값을 갖는다. 그리고 언젠가 소멸한...
13.1 스코프란? 스코프(유효범위)는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 스코프의 이해가 부족하면 다른 개념을 이해하기 어려울 수 있다. 더욱이 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있으므로 주의할 필요가 있다. 그리고 var 키워드로 선언한 변수와 let 또는 const 키워드로 선언한...
unicode-range 속성은 @font-face 규칙으로 로드되는 글꼴의 특정 문자 범위를 지정합니다. 이 속성을 사용하면 브라우저가 글꼴 파일을 다운로드할 때 필요한 문자 파일만을 다운로드하기 때문에 화면에 빠르게 렌더링할 수 있습니다. 알아두세요! @font-face 규칙을 사용하여 웹 페이지에 사용자 정의 글꼴을 적용한 글꼴을 일...
12.1 함수란? 함수는 자바스크립트에서 가장 중요한 핵심 개념이다. 또 다른 자바스크립트의 핵심 개념인 스코프, 실행 컨텍스트, 클로저, 생성자 함수에 의한 객체 생성, 메서드, this, 프로토타입, 모듈화 등이 모두 함수와 깊은 관련이 있다. 수학의 함수는 입력을 받아 출력을 내보내는 일년의 과정을 정의한 것이다. 프로그래밍 언어의 함수...
자바스크립트가 제공하는 7가지 데이터 타입 (숫자, 문자열, 불리언, null, undefined, 심벌, 객체타입)은 크게 원시타입과 객체타입으로 구분할 수 있다. 데이터 타입을 원시타입과 객체타입으로 구분하는 이유는 무엇일까? 원시타입과 객체타입은 근본적으로 다르다는 의미일 것이다. 원시타입과 객체타입은 크게 세 가지 측면에서 다르다. ...
ES6 배열함수 ES6에는 배열을 처리할 수 있는 여러 함수들이 있다. forEach: 반환값이 없다, 단순 for문과 같이 작동한다. map: 반환값을 배열에 담아 반환한다. ***** filter: 조건에 충족하는(true) 아이템만 배열에 담아 반환한다. some: 조건에 충족하는 아이템이 하나라도 있으면 true 반환, 아니면...
10.1 객체란? 자바스크립트는 객체 기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 ‘모든 것’이 객체다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값 (원시 값 또는 다른 객체)을 하나의 단위로 구성한 복잡한 자료구조다. 또한 원시 ...
9.1 타입 변환이란? 자바스크립트의 모든 값은 타입이 있다. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라 한다. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환되가도 한다. 이를 암묵적 타입 변환 또는 타입 강제 변환이라 한다. 9.2 암묵적 타...