개요 프론트엔드 개발자 희망인 3인 구성으로 이루어진 스터디이다.
변수란 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 의미한다.모든 애플리케이션은 데이터를 입력받아 처리한 결과를 출력한다.이라는 식을 입력했다고 가정해보면피연산자 10, 1은 메모리에 2진수로 저장된다.CPU는
식(표현식)이 평가되어 생성된 결과를 말한다.위 코드는 식이 평가 되어 숫자 값 30을 생성한다.모든 값들은 데이터 타입을 가지며 메모리에 2진수로 저장된다.메모리에 저장된 값은 데이터 타입에 따라 다르게 해석된다.메모리에 0100 0001 이 저장되어있다고 가정하자.
자바스크립트에는 총 7가지의 데이터 타입이 있다.ECMAScript 사양에 따르면 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식이다.즉, 모든 수는 실수로 처리한다.자바스크립트는 2진수, 8진수, 16진수르 표현하기 위한 데이터 타입을 제공하지 않기때문에 값을 참
산술 연산자 할당 연산자 비교 연산자 삼항 조건 연산자 논리 연산자 쉼표 연산자 그룹 연산자 typeof 연산자 지수 연산자 그외의 연산자 연산자의 부수 효과 연산자 우선 순위 연산자 결합 순서
조건에 따라 코드 블록을 실행(조건문)하거나 반복 실해(반복문)할 때 사용한다.제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.이에 따라 위에서 부터 아래로 순차적으로 진행하는 직관적인 코드의 흐름을혼란스럽게 하기도 한다. 블록문은 0개 이상의 문을 중
타입 변환이란 암묵적 타입 변환 명시적 타입 변환 단축 평가
객체란? 객체 리터럴에 의한 객체 생성 프로퍼티 메서드 프로퍼티 접근 프로퍼티 값 갱신 프로퍼티 동적 생성 프로퍼티 삭제 ES6에서 추가된 객체 리터럴의 확장 기능
원시 타입의 값 : 변경 불가능한 값원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다.원시 값을 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달된다. = 값의 의한 전달객체 타입의 값 : 변경 가능한 값변수 확보된 메모리 공간에는
✏️함수란? ✏️함수를 사용하는 이유 ✏️함수 리터럴 ✏️함수 정의 함수 선언문 함수 표현식 함수 생성 시점과 호이스팅 Function 생성자 함수 화살표 함수 ✏️함수 호출 매개변수와 인수 인수 확인 매개변수의 최대 개수 반환문 ✏️참조에 의한 전달과 외부
스코프란? > 모든 식별자는 자신이 선언된 위치에 의해 > 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. > 이를 스코프라한다. > > 즉 스코프는 식별자가 유효한 범위를 말한다. >> > 코드의 가장 바깥 영역과 foo 함수 내부에 같은 이름을
변수에는 생명 주기가 있다.생명 주기가 없으면 한번 선언된 변수는 프로그램을 종료하지 않는 한영원히 메모리 공간을 점유하게 된다.위 코드에서 지역변수 x는 foo 함수가 호출되지 않으면 변수 선언문이 실행되지 않는다.변수 선언은 런타임 이전에 자바스크립트 엔진에 의해서
var 키워드로 선언한 변수는 중복 선언이 가능하다.var 키워드로 선언한 변수는 함수의 코드 블록만을 지역 스코프로 인정한다.따라서 함수 외부에서 var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 전역 변수가 된다.var 키워드로 선언한 변수는 변수 호이스팅
내부 슬롯와 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메더스 이다.ECMAScript 사양에 등장하는 이중 대괄호로 감산 이름들이내부 슬롯과 내부 메서드다.ECMAScript 에 정의된대로
new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다.빈 객체를 생성한 이후 프로퍼티 또는 메서드를 추가할 수 있다.생성자 합수란 new 연산자와 함꼐 호출하여 객체(인스턴스)를 생성하는 함수이다.생성자 함수에 의해 생성된 객체를 인스턴
다음 과 같은 조건을 만족하는 객체를 일급 객체라 한다.1\. 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다.2\. 변수나 자료구조(객체, 배열 등)에 저장할 수 있다.3\. 함수의 매개변수에 전달할 수 있다.4\. 함수의 반환 값으로 사용할 수 있다
자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.자바스크립트는 객체 기반의 프로그래밍 언어이며자바스크립트를 이루고 있는 거의 "모든 것"이 객체다.원시 타입을 제외한 나머지 값들은 모두 객체다.클래스와 생
부모 객체인 프로토타입을 동적으로 교체할 수 있다.프로토타입은 생성자 함수 또는 인스턴스에 의해 교체할 수 있다.1 에서 Person.prototype에 객체 리터럴을 할당했다.이는 Person 생성자 함수가 생성할 객체의 프로토타입을객체 리터럴로 교체한 것이다.프로토
✏️strict mode란? > foo 함수 내에서 선언하지 않은 x 변수 값에 값 10을 할당했다. > 이때 x 변수를 찾아야 x에 값을 할당할 수 있기 때문에 > 자바스크립트 엔진은 스코프 체인을 통해 x 키워드를 검색한다. > > 먼저 foo() 함수의 스코프에서 x 변수의 선언을 검색하고 > 전역 스코프에서 x 변수의 선언을 검색한다. > > 어...
ECMAScript 사양에 정의된 객체를 말하며 애플리케이션 전역의 공통 기능을 제공한다.표준 빌트인 객체는 ECMAScript 사양에 정의된 객체이므로 자바스크립트 실행 환경(브라우저 또는 Node.js 환경)과 관계없이 언제나 사용할 수 있다.표준 빌트인 객체는 전
객체는 상태를 나타내는 프로퍼티와 동작을 나타내는 메서드를 하나의 논리적인 단위로 묶은 복합적인 자료구조다.동작을 나타내는 메서드는 자신이 속한 객체의 상태, 즉 프로퍼티를 참조하고 변경할 수 있어야한다.이때 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 먼저 자신
ECMAScript 사양은 소스코드를 4가지 타입으로 구분한다.4가지 타입의 소스코드는 실행 컨텍스트를 실행한다.타입을 구분하는 이유는 소스코드의 타입에 따라실행 컨텍스트를 생성 및 관리하는 과정이 다르기 때문이다.전역 코드는 전역 변수를 관리하기 위해 최상위 스코프인
클로저는 자바스크립트 고유의 개념이 아니다.함수를 일급 객체로 취급하는 함수형 프로그래밍 언어(하스켈, 리스프, 언랭, 스칼라)에서 사용되는 중요한 특성이다.MDN에서 정의하는 클로저는 다음과 같다.클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다.자바스크립트