일종의 커뮤니케이션이다.프로그래밍에 앞서 해결해야 할 문제(요구사항)를 명확히 이해할 필요가 있다.이때 요구되는 것이 문제 해결 능력이다.대부분의 문제는 명확하지 못하다. 그래서 문제(요구사항)를 명확히 이해하는데 도움이 되는 순서가 있다.복잡함을 단순하게 분해한다.자
프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념이다.자바스크립트 엔진이 자바스크립트 코드를 평가하려면 먼저 리터럴과 연산자의 의미를 알고 있어야 하며 표현식의 의미도 파싱할 수 있어야 한다.예를 들어 연산을 수행하기 위해 먼저 연산자의 좌변과 우변의 값, 즉 피연
값 (Value) 값은 식(표현식)이 평가되어 생성된 결과를 말한다. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다. 변수 메모리 공간에 저장되는 것은 표현식이 아니라 값이다. 따라서 표현식은 할당 이전에 평가되어 값을 생성한다. 리터럴 (Lite
데이터 타입은 값의 종류를 말한다. 자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. 7개의 데이터 타입은 원시타입(Primitive type)과 객체 타입(Object / Reference type)으로 분류한다. 원시 타입 숫자 타입(Number) 문
연산의 대상을 피연산자라 한다. 피연산자는 값으로 평가될 수 있는 표현식이다. 연산자 표현식도 값으로 평가될 수 있는 표현식이다.피연산자값 (명사)연산자피연산자를 연산하여 새로운 값을 만든다 (동사)피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 산
제어문은 조건에 따라 코드블록을 실행하거나 반복 실행할 때 사용한다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 하지만 코드의 실행 순서가 변경된다는 것은 직관적인 코드의 흐름을 혼란스럽게 만든다. 가독성을 해치는 단점이 있다. forEach,
함수는 input을 받아 output을 내보내는 일련의 과정을 정의한다. 프로그래밍 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수를 사용하는 이유 코드의 재사용 함수를 통해 중복을 제거하고 코드를 재
스코프(유효범위)는 변수 자신이 선언된 위치에 의해 자신이 유효한 범위를 말한다. 모든 식별자(변수, 함수, 클래스 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다.스코프는 자바스크립트 엔진이 식별자를 검색할 때 사용하
변수 생명 주기 지역 변수의 생명 주기 변수는 자신이 선언된 위치에서 생성되고 소멸한다.
중복 선언이 가능하다면 의도치 않게 먼저 선언된 변수에 재할당되어 부작용이 발생한다. let 키워드는 이름이 같은 변수를 중복 선언하면 syntaxError가 발생한다.모든 코드 블록(함수, if문, for문, while문, try/catch문 등)을 지역 스코프로 인
내부 슬롯과 내부 메서드는 자바스크립트 엔진의 내부 로직이므로 원칙적으로는 직접적으로 접근하거나 호출할 수 없다. 모든 객체는 \[Prototype] 내부 슬롯을 갖는다. 원칙적으로는 직접 접근할 수 없지만 \_\_proto\_\_를 통해 간접적으로 접근할 수 있다.자
노드 HTML 문서의 계층적 구조와 정보를 표현 구조와 정보를 제어하는 API 즉 프로퍼티와 메서드를 제공하는 트리 자료구조 트리 자료구조 트리자료 구조는 부모노드와 자식노드로 구성되서 비선형 자료구조이다. (하나의 자료 뒤에 여러개의 자료가 존재 가능) 최상위 노드