⌚ 일정 + 수요일 오후 8시 + 토요일 오전 미정 📌 진행방식 각자 공부해서 블로그를 작성해서 인증하고 스터디 시간에 서로 퀴즈를 3개정도 내고 풀면서 모르는 부분 질문하고, 토론하는 방식으로 진행 예정. 스터디는 Zoom을 이용할 예정.
변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 간단하게 말하면 메모리 공간의 주소를 인간이 알아볼수 있도록 값의 위치를 가리키는 상징적인 이름이 변수이다.메모리 공간에 저장된 값을 식별할 수 있는
값은 식이 평가되어 생성된 결과를 말한다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이기때문에 변수에 할당되는 것은 값이다.위에 보이는 변수 sum에는 20 + 10이 평가되어 생성된 숫자 값 30이 할당
자바스크립트의 모든 값은 데이터 타입을 갖는다. 데이터 타입은 7개의 타입을 제공하고 원시타입과 객체타입으로 분류할 수 있다.자바스크립트는 객체기반의 언어이며, 자바스크립트를 이루고 있는 거의 모든 것이 객체이다. 위에 나오는 원시타입 이외의 값은 모두 객체 타입이다.
연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수연산 등을 수행해 하나의 값을 만든다. 피연산자는 하나의 값으로 평가될수 있는 표현식이어야하고 피연산자와 연산자의 조합으로 이루어진 연산자 표현식도 값으로 평가될 수 있는 표현식이다.자바스크
제어문은 조건에 따라 코드 블록을 실행하거나 반복실행 할 때 사용한다. 일반적으로 코드는 위에서 아래방향으로 순차적으로 실행되고, 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다.블록문은 0개 이상의 문이 중괄호로 묶인 코드 블록으로 자바스크립트는 블록
타입 변환 타입 변환이란 기존 원시값을 사용해 다른 타입의 새로운 원시값을 생성하는 것을 말하며 타입 변환을 한다고 해서 기존 원시값을 직접 변경하는 것은 아니며 원시값은 변경 불가능한 값으로 변경할 수 없다. 타입변환에는 명시적 타입변환과 암묵적 타입 변환 두가지가
단축 평가란 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것을 말한다. 즉, 논리 연산의 결과를 결정하는 피연산자를 타입 변환하지 않고 그대로 반환하는 것이다.단축 평가는 다음과 같은 규칙이 있다.또한 단축 평가를 사용하면 if문을 대
객체 타입은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조이다. 원시 값은 변경 불가능한 값이지만 객체 타입의 값, 즉 객체는 변경 가능한 값이다.위에서 말하는 원시타입은 06장 데이터 타입에서 배운 숫자 타입, 문자열 타입, 불
자바스크립트는 데이터 타입을 크게 원시 타입과 객체 타입으로 구분한다. 원시 타입과 객체 타입의 다른접은 크게 3가지 정도 있다.원시 타입의 값은 변경 불가능한 값이고, 객체 타입의 값은 변경 가능한 값이다.원시 값을 변수에 할당하면 변수에는 실제 값이 저장되고, 객체
함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수를 사용하는 이유 함수는 한번 만들어두면 필요할때 여러번 호출해서 사용할 수 있다. 따라서 재사용이 가능하다는 장점이 있다. 함수를 사용하면 코드의 중복을 억제하고 재사
모든 식별자(변수 이름, 함수 이름, 클리스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효범위가 결정된다.즉, 스코프는 식별자가 유효한 유효 범위를 말한다. 또한 스코프를 통해 어떤 변수를 참조할 것인지 결정하기 때문에 자바스크
변수는 생성되고 소멸되는 생명주기(life cycle)이 존재한다. 전역변수의 생명주기는 더이상 실행할 문이 없을때까지이며 함수 내부에 선언된 지역변수는 함수의 생명주기와 일치한다.앞에서 살펴본 변수 호이스팅 개념인 런타임 이전단계에서 변수 선언이 먼저 수행된다는 개념
var 키워드로 변수를 선언하면 중복 선언이 가능하다. 중복 선언이 된 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작하고 초기화 문이 없는 변수 선언문은 무시된다. 따라서 의도치 않게 먼저 선언된 변수 값이 변경되는 부작용이 발생한다. var
내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECAMScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다.내부 슬롯과 내부 메서드는 자바스크립트 엔진의 내부 로직으로 직접 접근하거나 호출할 수 있는 방법은 없다. 하지만 일부 내부
Object 생성자 함수 >생성자 함수란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수를 말한다. 생성자 함수에 의해 생성된 객체를 인스턴스라 한다. new연산자와 함께 Object 생성자 함수를 생성해 빈 객체를 생성하고, 프로퍼티 또는 메서드를 추
일급객체는 4가지 조건을 만족해야 한다.무명의 리터럴로 생성할 수 있어 런타임에 생성이 가능하다.변수나 자료구조(객체, 배열 등)에 저장 할 수 있다.함수의 매개변수에 전달할 수 있다.함수의 반환값으로 사용할 수 있다.자바스크립트에서 함수는 4가지 조건을 모두 만족하는
자바스크립트에는 클래스 기반 객체지향 프로그래밍 언어의 특징인 클래스와 상속, 캡슐화를 위한 키워드인 public, private, protected 등이 없어서 객체지향 언어가 아니라고 오해하기도 하지만 자바스크립트는 클래스 기반 객체지향 프로그래밍 언어보다 더 효율
<mark style='background-color: 프로토타입의 프로토타입은 언제나 Object.prototype 이다. 또한 프로토타입 체인의 최상위에 위치하는 객체는 언제나 Object.prototype이며 Object.prototype을 프로로토타입 체인
위 코드를 보면 함수 스코프와 전역스코프에 변수 age에 대한 선언이 존재하지 않기 때문에 ReferenceError를 발생시킬 것 같지만 자바스크립트 엔진은 암묵적으로 전역 객체에 age 프로퍼티를 동적 생성한다. 이때 전역 객체의 age 프로퍼티는 마치 전역 변수처
ECMAScript 사양에 정의된 객체이며, 애플리케이션 전역의 공통기능을 제공한다. ECMAScript 사양에 정의 되어있기 때문에 자바스크립트 실행환경과 관계없이 언제나 사용할수 있다. 표준 빌트인 객체는 전역 객체의 프로퍼티로 제공되기 때문에 별도의 선언 없이 전
this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다.strict mode가 적용된 일반 함수 내부의 this에는 undefined가
<mark style='background-color: ECMAScript 사양에서 소스코드는 4가지 타입으로 구분되고, 4가지 타입의 소스코드는 실행 컨텍스트를 생성한다. 이 4가지 소스코드 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르다.전역
클로저는 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다."A closure is the comvination of a function and the lexical environment within which that function w
ES6에서 도입된 클래스는 함수이며 기존 프로토타입 기반 패턴을 클래스 기반 패턴처럼 사용할 수 있도록하는 새로운 객체 생성 메커니즘이라고 할 수 있다. 클래스와 생성자 함수 모두 프로토타입 기반의 인스턴스를 생성하지만 정확하게 동일한 방식으로 작동하진 않는다.클래스는
자바스크립트에 대한 기본적인 개념과 작동 원리에 대한 큰 타이틀은 스터디 진도를 다 나가서 복습 하면서 제가 중요하다고 생각 하는 부분을 정리했습니다.