컴퓨터는 CPU로 연산을 하고 연산한 값을 메모리에 저장한다. 하지만, CPU가 연산해서 만들어낸 값은 재사용할 수 없다.연산한 값을 사용하기 위해서는 메모리 주소를 통해 연산 결과가 저장되어 있는 메모리 공간에 직접 접근해야 하지만 직접 접근하기에 어려움이 있다.치명
6.데이터 타입 데이터 타입은 "값의 종류"라고 말한다. |구분|테이터 타입|설명| |---|---|---| || 숫자(number)타입|숫자,정수와 실수 구분 없이 하나의 숫자 타입만 존재| || 문자열(String)타입|문자열 |원시타입|불리언(Boolean)타입
값으로 평가된 피연산자를 연산해 새로운 값을 만든다.산술, 할당, 비교, 논리, 타입, 지수 등을 수행한다.피연산자 : 연산의 대상(값으로 평가될 수 있는 표현식이어야 한다.)피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다.산술 연산이 불가한 경우 N
7
조건에 따라 코드 블록을 실행(조건문)하거나 반복실행(반복문)할 때 사용코드의 실행 흐름을 인위적으로 제어할 수 있다.가독성을 해치기도 하고 오류를를 발생시키는 원인이 된다.forEach map filter reduce 를 이용해 복잡성을 해결할려고 노력한다.0개 이상
자바스크립트는 프로토 타입의 객체 기반의 프로그래밍그래서 자바를 구성하는 거의 "모든 것"이 객체이다.원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모드 객체이다.프로퍼티와 메서드로 구성된 집합체프로퍼티 : 객체의 상태를 나타내는 값(data)메서드 :
기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것1\. 명시적 타입 변환 : 개발자가 의도적으로 값의 타입을 변화하는 것2\. 암묵적 타입 변환 : 자바스크립트 엔진에 의해 암묵적으로 타입이 자동으로 변환기존 원시 값을 직접 변경하는 것이 아다.개발자의
객체는 프로퍼니의 집합이며, 프로퍼티는 키와 값으로 구성된다.프로퍼티 키 : 빈 문자열을 포함하는 모든 문자열 또는 심벌값프로퍼티 값 : 자바스크립트에서 사용할 수 있는 모든 값프로퍼티는 쉼표(,)로 구분한다.프로퍼티 값에 접근 할 수 있는 이름으로 식별자 역활을 한다
데이터 타입에 크게 원시타입 객체타입으로 구분할 수 있다.정리하자면원시타입의 값 : 변경 불가능한 값변수에 할당하면 변수(확보된 메모리 공간)에 실제 값이 저장값에 의한 전달 : 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달객체(참조)타입
input(입력)을 받아들여 output(결과)를 출력하는 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것함수 정의(function definition) : 함수를 생성하는 것함수 호출(fucntion call/invoke
함수를 가르키는 식별자와 한쌍의 소괄호()인 함수 호출 연산자로 호출한다. 함수 호출 연산자내에는 0개 이상의 인수를 쉼표(,)로 구분해서 나열한다.함수를 실행하기 위해 필요한 값을 함수 외부에서 함수 내부로 전달할 필요가 있는 경우, 매개변수(parameter)(인자
모든 식별자(변수이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효범위가 결정되는데 이것을 스코프라고 한다. 스코프 = 유효범위 = 식별자를 검색할 때 사용하는 규칙 식별자인 변수 이름의 충돌을 방지하여 같
변수는 생성되고 소멸되는 생명주기를 가지고 있다.
ECMAScript 사양에 등장하는 이중 대괄호\[\[...]]로 감싼 이름을 내부슬롯과 내부 메서드이다.직접적으로 접근하거나 호출할 수 있는 방법을 제공하지 않는다.일부 내부슬롯과 내부메서드 한에서 간접적으로 접근 할 수 있다.모든 객체는 \[Prototype]이라는
17. 생성자 함수에 의한 객체 생성 17.1 Object 생성자 함수 > new연산자와 함께 Object생성자 함수를 호출하면 빈 객체를 반환하며 이후에 프로퍼티나 메서드를 추가하여 객체를 완성 할 수 있다. 생성자 함수 :new연산자와 함께 호출하여 객체(인스턴스
무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다변수나 자료구조(객체, 배열 등)에 저장할 수 있다.함수의 매개변수에 전달 할 수 있다.함수의 반환값으로 사용할 수 있다.자바스크립트의 함수는 일급 객체이다.값으로 사용할 수 있다.(변수 할당문, 객체의 프
ECMAScript 사양에 정의된 객체를 말하여, 애플리케이션 전역 공통 기능을 제공자바스크립트 실행환경과 관계없이 언제나 사용할 수 있다.표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공별도의 선언없이 전역 변수처럼 참조 할 수 있다.Object String Num
자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다.this가 가르키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 생성된다.this는
실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다.스코프를 기반으로 식별자와 식별자에 바인딩된 값을 관리하는 방식호이스팅이 발생하는 이유클로저의 동작 방식테스크 큐와 함께 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식을 이해 할 수 있다.자바스크립
"클로저는 함수와 그 함수가 선언된 렉시컬 한경과의 조합이다." - mdn에서의 정의자바스크립트 엔진은 함수를 어디에 정의했는지에 따라 상위 스코프를 결정한다. 이것을 렉시컬 스코프라고 한다. 즉, 상위 스코프에 대한 참조는 함수 정의가 평가되는 시점에 함수가 정의된
자바스크립트는 프로토타입 기반 객체지향 언어이다. 하지만 다른 객체지향 언어와 차이점에 있어 혼란이 있어왔다.ES6에 도입된 클래스는 기존 프로토타입 기반 객체지향 프로그래밍보다 자바, c클래스는 함수이며 기존 프로토타입 기반 패턴을 클래스 기반 패턴처럼 사용할 수 있
클래스의 인스턴스는 new 연산자와 함께 호출한다.new 연산자 없이는 호출 할 수 없다.1\. 인스턴스 생성과 this 바인딩new 연산자와 함께 클래스를 호출하면 constructor의 내부 코드가 실행에 앞에 암묵적으로 빈 객체를 생성한다.이때 클래스가 생성한 인
상속에 의한 클래스 확장은 기존 클래스를 상속받아 새로운 클래스를 확장하여 정의하는 것클래스는 상속은 문법이 기본적으로 제공된다. (extends 키워드)클래스 상속은 상속되어지는 클래스 속성을 사용하면서 자신만의 고유한 속성을 추가하여 확장한다.클래스 확장 코드 재사
ES6 이전의 함수는 사용 목적에 따라 명확히 구분되지 않았다. 따라서 모든 함수는 일반 함수로서 호출할 수 있는 것은 물론, 생성자 함수로서 호출 할 수 있다.모든 함수는 callable 이면서 constructor이다.callable : 호출할 수 있는 함수 객체c
여러 개의 값을 순차적으로 나열한 자료구조사용 빈도가 매우 높고 가장 기본적인 자료구조이다.배열은 객체 타입이다.요소 (Element): 배열이 가지고 있는 값자바스크립ㅌ의 모드느 값은 배열의 요소가 될 수 있다.원시값, 객체, 함수, 배열 모두 가능하다.인덱스(ind
배열 메서드에는 두가지 패턴을 가지고 있다. 1\. 원본배열을 직접 변경하는 메서드외부 상태를 직접 변경하는 부수효과를 있어 사용에 주의해야 한다.push , pop , unshift, shift, splice원본배열을 직접 변경하지 않고 새로운 배열을 생성하여 반환하
: 함수를 인수로 전달받거나 함수를 반환하는 함수자바스크립트의 함수는 일급 객체이므로 함수를 값처럼 인수로 전달 할 수 있으며 반환 할 수 있다. 고차함수는 외부 상태의 변경이나 가변데이터를 피하고 불변성을 지향하는 함수형 프로그래밍을 기반을 두고 있다.: 순수함수와