자바스크립트는 객체 기반 프로그래밍 언어자바스크립트를 구성하는 거의 "모든 것"이 객체다.(원시 타입은 하나의 값만 나타냄, 변경 불가능한 값)객체 타입은 다양한 타입을 하나의 단위로 구성한 복합적인 자료구조변경 가능한 값이다.객체 프로퍼티는 "키"와 "값"으로 구성된
자바스크립트는 개발자의 직접적 메모리 제어를 허용하지 않는다.값이 저장될 메모리 주소는 코드가 실행될 때 메모리의 상황에 따라 임의로 결정된다.따라서 동일한 컴퓨터에서 동일한 코드를 실행해도 코드가 실행될 때마다 값이 저장될 메모리의 주소는 변경된다. 이처럼 코드가 실
값은 식(표현식)이 평가되어 생성된 결과를 말한다.평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미.모든 값은 데이터 타입을 가진다.메모리에 2진수, 즉 비트의 나열로 저장된다.따라서 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다.(변수는 하나
값의 종류. 자바스크립트의 모든 값은 데이터 타입을 갖는다.숫자자바스크립트는 하나의 숫자타입만 존재배정밀도 64비트 부동소수점 형식을 따른다. 모든 수를 실수로 처리, 정수 표현 타입 존재X자바스크립트는 별도 진수 타입 제공이 없기 때문에 숫자 값을 참조하면 모두 10
break 문은 코드 블록을 탈출한다. 좀 더 정확히 표현하자면 코드 블록을 탈출하는 것이 아니라 레이블 문, 반복문(for..in, for..of, while, d0..while) 또는 switch문의 코드 블록을 탈출한다.참고로 레이블 문이란 식별자가 붙은 문을 말
원시 값은 변수에 할당하면 변수에는 실제 값이 저장된다. 이에 비해 객체를 변수에 할당하면 변수에는 참조 값이 저장된다.원시 타입의 값은 변경 불가능하다.한번 생성된 원시 값은 읽기 전용값으로서 변경할 수 없다.원시 값의 불변성은 데이터의 신뢰를 보장한다.변수 : 하나
프로그래밍 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위를 정의한 것.매개변수 : 함수 내부로 입력을 전달받는 변수인수 : 입력반환값 : 출력함수는 함수 정의 를 통해 생성한다.함수 호출 : 인수를 매개변수를 통해 함수에 전달하면서
변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 법위가 결정된다.모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 자신을 참조할 수 있는 유효 범위가 결정된다.스코프는 식별자가 유효한 범위를 말한다.식별자 결정 :
변수 선언은 선언문이 어디에 있든 상관없이 가장 먼저 실행.런타임 이전 단계에서 자바스크립트 엔진에 의해 먼저 실행.전역 변수에 한정된 것. 함수 내부에서 선언한 변수는 함수가 호출된 직후에 함수 몸체의 코드가 한 줄씩순차적으로 실행되기 이전에 자바스크립트 엔진에 의해
함수 레벨 스코프는 전역 변수를 남발할 가능성을 높인다. 이로 인해 의도치 않게 전역 변수가 중복 선언되는 경우가 발생한다.변수 중복 선언 금지var 키워드와 달리 let 키워드로 선언한 변수는 모든 코드 블록을 지역 스코프로 인정하는 블록 레벨 스코프를 따른다.var
ECMAScript 사양에 등장하는 이중 대괄호(\[\[]])로 감싼 이름들이 내부 슬롯과 내부 메서드다.내부 슬롯과 내부 메서드는 자바스크립트 엔진에서 실제로 동작하지만 개발자가 직접 접근할 수 있도록 외부로 공개된 객체의 프로퍼티가 아니다.자바스크립트 엔진의 내부
new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다.빈 객체를 생성한 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다.this는 객체 자신의 프로퍼티나 메서드를 참조하기 위한 자기 참조 변수this가 가르키는 값. 즉 th
무명의 리터럴로 생성 가능, 런타임에 생성이 가능.변수나 자료구조에 저장할 수 있다.함수의 매게변수에 전달할 수 있다.함수의 반환값으로 사용할 수 있다.일급 객체로서 함수가 가지는 가장 큰 특징은 일반 객체와 같이 함수의 매개변수에 전달할 수 있고, 함수의 반환값으로
자바스크립트는 명령령, 함수형, 프로포타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다. 클래스와 생성자 함수는 모두 프로토타입 기반의 인스턴스 생성, 정확히 동일하게 동작 안함 클래스는 프로토타입 기반 객체 생성의 새로운 메커니즘이다. 객체
잠재적인 오류를 발생시키기 어려운 개발 환경을 만들고 그 환경에서 개발하는 것전역에 적용한 strick mode는 스크립트 단위로 적용스크립트 단위 적용은 다른 스크립트에 영향 없이 적용된다그렇지만 nob=n-script와 혼용하는 것은 오류 발생 가능성이 높기에 즉시
:ECMAScript 사양에 정의된 객체를 말한다. 애플리케이션 전역의 공통 기능을 제공한다.표준 빌트인 객체는 자바스크립트 실행 환경과 관계없이 언제나 사용할 수 있다.표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공된다. 따라서 별도의 선언 없이 전역 변수처럼 언제
객체동작을 나타내는 메서드는 자신이 속한 객체의 상태, 즉 프로퍼티를 참조하고 변경할 수 있어야 한다.객체 리터럴 방식으로 생성한 객체의 경우 메서드 내부에서 메서드 자신이 속한 객체를 가리키는 식별자를 재귀적으로 참조할 수 있다.하지만 생성자 함수로 인ㄱ스턴스를 생성
소스코드를 4가지 타입으로 구분하는 이유는 소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르기 때문:전역에 존재하는 소스코드를 말한다. 전역에 정의된 함수, 클래스 등의 내부 코드는 미포함전역 변수를 관리하기 위해 최상위 스코프인 전역 스코프를
클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. 렉시컬 스코프 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정. 이를 렉시컬 스코프 = 정적 스코프 라고 한다. 렉시컬 환경의 "외부 렉시컬 환
자바스크립트는 프로토타입 기반 객체지향 언어다.프로토타입 기반 객체지향 언어는 클래스가 필요 없는 객체지향 프로그래밍 언어다.생성자 함수와 프로토타입을 통해 객체지향 언어의 상속을 구현할 수 있다.하지만 클래스 기반 언어에 익숙한 프로그래머들은 프로토타입 기반 프로그래
ES6 이전까지 자바스크립트의 함수는 별다른 구분 없이 다양한 목적으로 사용되었다. 일반적인 함수로서 호출 new 연산자와 함께 호출되어 인스턴스를 생성할 수 있는 생성자 함수로서 호출 객체에 바인딩되어 메서드로서 호출 사용 목적에 따라 명확하게 구분되지
대부분의 프로그래밍 언어는 운영체제나 가상 머신 위에서 실행되지만 웹 애플리케이션의 클라이언트 사이드 자바스크립트는 브라우저에서 HTML, CSS와 함께 실행된다. 따라서 브라우저 환경을 고려할 때 더 효율적인 클라이언트 사이드 자바스크립트 프로그래밍이 가능하다.
DOM(Document Object Model)은 html 문서의 계층적 구조와 정보를 표현이를 제어할 수 있는 API, 즉 프로퍼티와 메서드를 제공하는 트리 자료구조다.HTML 요소는 HTML 문서를 구성하는 개별적인 요소를 의미.HTML 요소는 렌더링 엔진에 의해
자바스크립트 엔진은 싱글 스레드로 동작한다.타이머 함수는 비동기 처리 방식으로 동작한다.짧은 시간 간격으로 이벤트가 연속해서 발생하면 이벤트 핸들러를 호줄하지 않다가 일정 시간이 경과한 이후에 이벤트 핸들러가 한 번만 호출되도록 한다.짧은 시간 간격으로 발생하는 이벤트
실행 컨텍스트 스택에 함수 실행 컨텍스트가 푸시되는 것은 바로 함수 실행 컨텍스트가 실행 컨텍스트 스택에 푸시되기 때문이다.함수 실행 순서는 실행 컨텍스트 스택으로 관리한다.자바스크립트 엔진은 단 하나의 실행 컨텍스트를 갖는다.이는 함수를 실행할 수 있는 창구가 단 하
Ajax란 자바스크립트를 사용하여 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식을 말한다.브라우저에서 제공하는 Web API인 XMLHttpRequest 객체를 기반으로 동작한다.XM
REST(REpresentional State Transfer)http를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍쳐API는 "Application Programming Interface"의 약자로, 응용 프로그램 간에 데이터를 주고받을 수 있
브라우저는 처리해야 할 특정 사건이 발생하면 이를 감지하여 이벤트를 발생시킨다. 즉 어플리케이션이 이벤트를 발생시키고 싶으면 해당하는 이벤트가 발생했을 때 실행하고 싶은 함수를 브라우저에 넘긴다. 이때 이 함수를 "이벤트 핸들러" 라고 하고 이벤트가 발생했을 시 브라우
this > this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수 this의 필요성 객체지향 프로그래밍에서 객체는 상태를 나타내는 프로퍼티와 동작을 나타내는 메서드를 하나의 논리적인 단위로 묶은 복합적인 자료구조! 이때 메서드가 자신이
https://ko.javascript.info/generators일반 함수는 한의 값만을 반환합니다.하지만 제너레이터를 사용하면 여러 개의 값을 필요에 따라 하나씩 반환할 수 있습니다. (yield)next는 제너레이터의 주요 메서드입니다.next를 호출하면
심벌은 ES6에서 도입된 7번째 데이터 타입, 변경 불가능한 원시 타입의 값.심벌 값은 다른 값과 중복되지 않는 유일무이한 값.이름의 충돌 위험이 없는 유일항 프로퍼티 키를 만들기 위해 사용.프로퍼티 키로 사용할 수 있는 값 : 빈 문자열을 포함하는 모든 문자열 또는
이터레이션 프로토콜 순회 가능한 자료구조를 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙 ECMA스크립트 : ECMAScript is a standard script language 자바스크립트 언어의 표준. ES6 자바스크립트 언어의 6번째 표준