나의 팀원들과 자바스크립트 딥다이브 스터디를 하기로 시작하였다.박수 👏👏👏 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다.result가 변수명이자 식별자이다.(변수명을 식별자라고 부른다.)여기
값을 그냥 무슨 값이라고 생각했지모든 값은 데이터 타입을가지고, 메모리2진수,비트의 나열로 저장된다는걸 다시 한번 깨달음.리터럴이란 사전적 의미로 문자 그대로의 뜻을 가진다.(컴퓨터가 아닌 사람이 이해할 수 있는 값)내가 사용했던 모든 것이 리터럴인줄 몰랐다.Ex)un
자바스크립트는 7개의 타입을 가지고 있다.원시타입: boolean ,null, undefined, number,string, symbol (ES6 에서 symbol 타입 추가됨)객체타입Symbol은 아직 사용해 본적이 없는 타입니다.Symbol은 고유하고 변경할 수
피연산자를 대상으로 새로운 숫자 값을 만든다.산술 연상니 불가능 한 경우 NaN 반환.피연산자란? let sum = 5 + 3; // 여기서 5와 3은 + 연산자의 피연산자다.NaN이란?NaN은 "Not a Number"의 약자로, 자바스크립트에서 숫자가 아님을 나타내
0개 이상의 문을 중괄호로 묶은 것을 블록문이라고 부른다.자바스크립트는 블록문을 하나의 실행 단위로 취급조건문은 불리언 값으로 평가될 수 있는 표현식이다.if else문은 삼항 조건 연산자로도 쓸 수 있음! 여기서 삼항 조건 연산자는 값으로 표현될 수 있는 표현식 문i
자바스크립트의 모든 값은 타입이 있다.❗️값의 타입은 개발자의 의도에 따라 변환가능❗️\-개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입변환 또는 타입 캐스팅 이라고 한다.자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것을 암묵적 타입 변환 또는
객체란? 자바스크립트는 객체기반의 언어이며, 자바스크립트를 구성하는 거의 "모든 것이 객체다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 원시 타입은 단 하나의 값만 나타내지만, 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복
자바스크립트의 7가지 데이터 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.원시 값은 변경 불가능한 값이다.한번 생성된 원시 값은 읽기 전용값으로서 변경할 수 없다.값에 의한 전달은 자바스크립트를 위한 용어가 아니므로 오해가 있을 수도있다.엄격하게 표현하면 변
함수는 자바스크립트에서 가장 중요한 핵심 개념임\~~프로그래밍 언어의 함수는 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다.프로그래밍 언어의 함수도 입력을 받아서 출력을 내보낸다.이때 함수 내부로 입력을 전달받는 변수를 매개변수,
우리는 스코프를 이미 경험했다.👀 함수의 매개변수는 함수 몸체 내부에서만 참조 ⭕️ 함수의 매개변수는 함수외부에서는 참조 ❌ 매개변수의 스코프가 함수 몸체 내부로 한정되기 때문이다. 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수
전역 변수의 무분별한 사용은 위험하다 14.1 변수의 생명 주기 14.1.1 지역 변수의 생명 주기 변수는 자신이 선언된 위치에서 생성되고 소멸한다. 하지만 함수 내부에 선언된 지역 변수는 함수가 호출되면 생성되고 함수가 종료하면 소멸한다. 14.2 전역 변수의 문
ES5까지 변수를 선언할 수 있는 방법은 var 키워드가 유일했다.var 키워드의 특징1.var키워드로 선언한 변수는 중복 선언이 가능var키워드로 x,y변수가 중복 선언되었다. 중복 선언하면 초기화문 유무에 따라 다르게 동작한다. 초기화 문이 있는 경우 var키워드가
js 엔진의 내부로직으로 직접 접근 및 호출이 불가능하다.하지만 일부에 한해 간접적으로 접근가능 . \[Prototype] 내부슬롯에는 proto를 통해 간접적으로 접근 가능js 엔진은 프로퍼티를 생성할때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동
17.1 object 생성자 함수 new 연산자와 함께 object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 빈 객체를 생성한 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다 생성자 함수에 의해 생성된 객체를 인스턴스라한다. 자바스크립트는
1.무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다.2.변수나 자료구조에 저장할 수 있다.3.함수의 매개변수에 전달할 수 있다.4.함수의 반환값으로 사용할 수 있다.자바스크립트의 함수는 위의 조건을 모두 만족하므로 일급 객체이다.함수는 객체다. 따라서
자바스크립트는 명령형, 함수형, 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임을 말한다.다양한 속성 중에서 프로그램에서 필요한 속상만 표현하는 것을 추상화라 한다.속성을 통해
19.7 프로토타입 체인 me의 프로토타입은 프로토타입은 Person.prototype 이다. 자바스크립트는 객체의 프로퍼티에 접근하려고 할 때 해당 객체에 접근하려는 프로퍼티가 없다면 [[Prototpe]]내부 슬롯 참조를 따라 자신의 부모 역할을 하는 프로토타입
"Strict Mode(엄격 모드)"는 JavaScript에서 코드를 더 엄격하게 파싱하고 실행하는 모드를 말한다. 이 모드를 활성화하면 프로그램의 예상치 못한 오류를 줄이고 코드 품질을 향상시킬 수 있다.ESLint같은 린트 도구를 사용하면 strict mode가 제
ECMAScript 사양에 정의된 객체애플리케이션 전역의 공통 기능을 제공자바스크립트 실행 환경에 관계없이 사용 가능별도의 선언 없이 전역 번수처럼 언제나 참조ECMAScript 사양에 정의되어 있지는 않지만 자바스크립트 실행 환경에서 추가로 제공하는 객체브라우저 환경
동작을 나타내는 메서드는 자신이 속한 객체의 상태인 프로퍼티를 참조하고 변경할 수 있어야 한다.\-> 이 때 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 먼저 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 한다.기본적으로 this에는 전역 객체가 바인딩된
실행 컨텍스트는 JavaScript 코드가 실행될 때 생성되는 환경ECMAScript 사양은 소스코드를 4가지 타입으로 구분한다.4가지 타입의 소스코드는 실행 컨텍스트를 실행한다.전역코드전역에 존재하는 소스코드, 전역에 정의된 함수, 클래스 등의 내부 코드는 포함되지
클로저는 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어(하스켈, 리스프,얼랭,스칼라 등)에서 사용되는 중요한 특성이다.MDN에서 정의하는 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디
25.1 클래스는 프로토타입의 문법적 설탕인가? 자바스크립트는 프로토타입 기반 객체지향 언어이다. (프로토타입 기반 객체지향 언어는 클래스가 필요없는 객체지향 프로그래밍 언어) ES5에서는 생성자 함수와 프로토타입을 이용하여 객체지향 언어의 상속 구현이 가능했다.
28.1 Number 생성자 함수 28.2 Number 프로퍼티 28.2.1 Number.EPSILON ES6에서 도입되었고 1과 1보다 큰 숫자 중에서 가장 작은 숫자와의 차이와 같다. (->두 부동 소수점 숫자 사이의 차이가 작아서 사실상 같은 수로 간주될 때