숫자, 문자열, 불리언, undefined, null, symbol숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따른다.즉, 모든 수를 실수로 처리하며 정수만을 표현하기 위한 특별한 데이터 타입은 없다.정수로 표시되더라도 실수이다.숫자타입 중 특별한 값으론 In
표현식(expression)은 값으로 평가(evaluation)될 수 있는 문(statement)이다.따라서 표현식은 변수에 할당할 수 있다. (ex var x = 1 + 2;)문(statement)은 프로그램의 최소 실행 단위이다. 명령문이라고도 부른다.토큰(toke
블록문은 0개 이상의 문을 중괄호로 묶은 것으로 코드 블록 또는 블록이라고 부르기도 한다.자바스크립트는 블록문을 하나의 실행 단위로 취급한다.조건문은 주어진 조건식의 평가 결과에 따라 코드 블럭(블록문)의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식
연산자는 값으로 평가될 수 있는 표현식인 피연산자를 이용해 하나의 값을 만드는 것이다.피연산자는 값, 연산자는 연산하여 새로운 값을 만드는 역할이다.이항 산술 연산자이항 산술 연산자는 2개의 피연산자를 산술 연산하여 숫자 타입의 값을 만든다.피연산자의 값을 바꾸지 않는
다양한 자료를 하나로 집합시킨 자료구조이다. 원시값과 달리 변경 가능한 값을 사용한다.프로퍼티 : 객체의 상태를 나타내는 값메소드 : 프로퍼티를 참조하거나 조작할 수 있는 함수객체는 객체 리터럴, Object 생성자 함수, 생성자 함수, Object.create 메소드
기존 값의 타입을 다른 타입으로 변환하는 것.명시적 타입 변환과 암시적 타입 변환이 있다.명시적 타입 변환개발자가 명시적으로 타입을 변환하는 것.암묵적 타입 변환개발자의 의도와 상관 없이 자바스크립트 엔진이 타입을 바꾸는 것.위 예제에서 암묵적 타입 변환의 경우 '10
코드블록을 활용하여 하나의 실행 단위를 만든 것.매개변수: 함수 내부로 전달되는 변수인수: 함수를 호출할 때 함수 내부로 전달하는 변수반환값: 함수 외부로 출력되는 변수코드의 재사용을 위해서 사용한다.재사용시 장점: 유지보수 편함, 실수를 줄여 신뢰성 높임.함수는 객체
스코프란?다른 코드가 변수를 참조할 수 있는 유효 범위이다.전역 스코프전역 변수는 전역 스코프를 가지고 있으며, 어디서든지 참조할 수 있다.지역 스코프지역 변수는 자신이 선언된 지역 스코프와 하위 지역 스코프에서 유효하다.변수가 선언 됐는지 확인하기 위해서 변수를 찾을
지역 변수의 생명 주기지역 변수의 생명 주기는 함수의 생명 주기와 일치한다.위 코드에서 console.log(a)는 undefined를 출력하는데 함수 내부의 var a가호이스팅으로 먼저 선언되고 undefined가 된 상태에서 출력했기 때문이다.전역 변수의 생명 주기
기존 블로그에 작성한 내용을 velog로 이전한 글입니다
기존 블로그에 작성한 내용을 velog로 이전한 글입니다new Object(); 를 통해 빈 객체를 생성하고 생성된 객체에 프로퍼티와 메소드를 추가하여 사용한다.C++, Java처럼 프로퍼티 구조가 동일한 객체를 간편하게 생성할 수 있다.new 연산자와 함께 호출하면
기존 블로그에 작성한 내용을 velog로 이전한 글입니다프로퍼티 어트리뷰트:프로퍼티의 값, 값의 갱신 가능 여부, 열거 가능 여부, 재정의 가능여부프로퍼티 디스크립터:프로퍼티 어트리뷰트 정보를 담고 있는 객체getOwnPropertyDescriptor로 간접적인 확인
기존 블로그에 작성한 내용을 velog로 이전한 글입니다무명의 리터럴로 생성할 수 있다.(런타임에 생성 가능)변수나 자료 구조(객체, 배열 등)에 저장할 수 있다.함수의 매개 변수에게 전달할 수 있다.함수의 결과값으로 반환할 수 있다.arguments 프로퍼티함수 호출
기존 블로그에 작성한 내용을 velog로 이전한 글입니다객체: 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료 구조프로그램에 필요한 속성만을 간추려 표현하는 '추상화'를 하는것19-2자바스크립트는 프로토타입을 통해 객체를 상속하여 중복 생성을 막는다.\
기존 블로그에 작성한 내용을 velog로 이전한 글입니다전역 객체 : 최상위 객체표준 빌트인 객체 : ECMAScript 사양에 정의된 객체, 실행환경 무관호스트 객체 : 실행 환경에서 추가적으로 제공하는 객체사용자 정의 객체 : 사용자가 정의한 객체모든 빌트인 객체의
기존 블로그에 작성한 내용을 velog로 이전한 글입니다엄격모드 : 자바스크립트 문법을 보다 엄격하게 적용하기 위해 쓰는 문법.사용법 : 전역 선두 or 함수 선두에 'use strict';를 추가한다.사용법 예시:암묵적 전역 : ReferenceError 발생변수,
기존 블로그에 작성한 내용을 velog로 이전한 글입니다소스 코드를 실행하기 위해 필요한 환경 및 실행 결과를 관리하는 영역소스 코드의 타입별 생성 과정 및 관리 내용전역 코드 : 전역 스코프 생성 및 전역 변수 관리 (함수, 클래스 등 내부 코드 미포함)함수 코드 :
기존 블로그에 작성한 내용을 velog로 이전한 글입니다자신이 속한 객체를 참조하기 위한 키워드함수가 호출되는 방식에 따라 this에 바인딩될 값, 즉 this 바인딩이 동적으로 결정된다.일반 함수 호출 : 기본적으로 전역 객체가 바인딩 된다.메소드 호출 : 메소드를
기존 블로그에 작성한 내용을 velog로 이전한 글입니다외부 함수가 소멸했음에도 내부함수가 외부함수의 지역변수(자유변수)에 접근할 수 있는 메커니즘.캡슐화를 통해 외부함수의 지역변수(자유변수)의 오염을 막을 수 있다.실행 컨텍스트 스택에서 외부함수가 제거 되더라도 내부
기존 블로그에 작성한 내용을 velog로 이전한 글입니다Error 종류 (https://en.hexlet.io/)TypeError 객체는 보통 값이 기대하던 자료형이 아니라서 연산을 할 수 없을 때 발생하는 오류입니다.(MDN: https://deve
기존 블로그에 작성한 내용을 velog로 이전한 글입니다객체지향 언어의 class를 자바스크립트에서 사용하게 해주는 문법적 설탕이라고 할 수 있다.하지만 클래스가 생성자 함수와 완전히 같지는 않다.생성자함수와 클래스의 차이정의 방법과 인스턴스 생성 방법은 다음과 같다.
기존 블로그에 작성한 내용을 velog로 이전한 글입니다ES6에선 단축표현으로 작성된 함수만 메소드로 인정한다.메소드는 \[HomeObject]를 가지고 있어 super사용이 가능하다.non-constructor라 prototype을 만들지 않는다.매개변수 이름을 중복
기존 블로그에 작성한 내용을 velog로 이전한 글입니다여러 개의 값을 순차적으로 나열한 자료 구조인덱스 : 배열에서 위치를 나타냄요소 : 배열의 값자바스크립트에서 배열은 배열이 아니라 객체이다.장점: 특정 요소를 탐색하거나 요소를 삽입 또는 삭제하는 경우 더 빠르다.
기존 블로그에 작성한 내용을 velog로 이전한 글입니다구조화된 배열 또는 객체를 비구조화하여 1개 이상의 변수에 개별적으로 할당하는 것.순서에 의미가 있다.변수와 배열의 개수가 일치하지 않아도 된다.디스트럭처링을 쓰기 위해선 오른쪽에 반드시 배열이 있어야 한다. (단
기존 블로그에 작성한 내용을 velog로 이전한 글입니다하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만드는 것.값을 만드는게 아니기 때문에 변수에 할당할 수 없다.따라서 단독으로 사용될 수 없고 다음과 같이 사용될 수 있다.함수 호출문의 인수
기존 블로그에 작성한 내용을 velog로 이전한 글입니다아래 배열을 사용하여 html을 생성하는 함수를 작성하라.해답:요소의 프로퍼티(id, content, completed)를 문자열 인수로 전달하면 todos의 각 요소 중, 해당 프로퍼티의 값만을 추출한 배열을 반
기존 블로그에 작성한 내용을 velog로 이전한 글입니다Set 객체: 중복되지 않는 유일한 값들의 집합Map 객체: 중복되지 않는 키, 중복 가능한 값의 쌍으로 이루어진 컬렉션다음과 같이 교집합을 구할 수 있다.다음과 같이 합집합을 구현할 수 있다.차집합(A-B)은 집
기존 블로그에 작성한 내용을 velog로 이전한 글입니다HTML 문서를 표현하는 트리 자료구조HTML 구조를 제어할 수 있는 APIHTML을 구성하는 개별적인 요소문서 노드 : document 객체, HTML당 유일함.요소 노드 : HTML 요소를 가리키는 객체.어트리