변수 4.1 전역 변수 프로그래밍 언어는 기억하고 싶은 값을 메모리에 저장하고,저장된 값을 읽어들여 재사용하기 위해 변수라는 메커니즘 제공 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 값의 위치를 가리키는 상징적인
값은 표현식이 평가되어 생성된 결과를 말한다평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다표현식이 값이다변수에는 항상 표현식만 할당될 수 있다변수에 할당이 가능하다면 표현식즉 표현식은 값이 될 수 있는 모든 것이다사람이 이해할 수 있는 문자 또는 약속된 기
Js의 숫자 타입은 정수만을 위한 타입이 없고 모든 수를 실수로 처리한다정수로 표시된다 해도 사실은 실수라는 것을 의미한다"",'',\`\`으로 텍스트를 감싼다js에서 가장 일반적인 표기법은 작은따옴표('')를 사용하는 것이다템플릿 리터럴 내에서는 이스케이프 시퀀스를
연산자는 하나 이상의 표현식을 대상으로 산술,할당,비교,논리,타입,지수 연산 등을 수행해 하나의 값을 만든다연산의 대상을 피연산자 라 한다피연산자와 연산자의 조합으로 이뤄진 연산자 표현식도 값으로 평가될 수 있는 표현식이다산술 연산자는 피연산자를 대상으로 수학적 계산을
연산자는 하나 이상의 표현식을 대상으로 산술,할당,비교,논리,타입,지수 연산 등을 수행해 하나의 값을 만든다연산의 대상을 피연산자 라 한다피연산자와 연산자의 조합으로 이뤄진 연산자 표현식도 값으로 평가될 수 있는 표현식이다표현식을 좀 더 복잡하게 사용하기 위해 연산자를
조건에 따라 코드 블록을 실행하거나 반복실행할 때 사용한다제어문을 사용하면 코드의 실행흐름을 인위적으로 제어할 수 있다forEach,map,filter,reduce 같은 고차 함0개 이상의 문을 중괄호로 묶은 것코드 블록 또는 블록블록문을 하나의 실행 단위로 취급한다일
카페에 가면 메뉴판을 보고 주문하듯 클라이언트가 서버에 요청을 할 때 요청할 수 있는 것들이 정해져 있다url도 API 주문 방법중 하나이다서버도 디렉토리와 비슷한 개념이 있다서버가 만든 메뉴판 형식을 벗어나서는 안된다. 클라이언트는 명세에 맞게 서버에게 요청을 보내야
동기와 비동기 동기(Synchronous)는 현금 인출기를 사용하는 상황과 비슷하다 동기적 방식은 실행 순서가 확실하다 Js는 싱글 스레드 언어이다(Call stack이 하나뿐이다) 싱글 스레드 언어는 현금 인출기처럼 하나 하나 순서대로 처리가 진행된다 비동기 요청을
Js는 객체 기반의 프로그래밍 언어원시값을 제외한 나머지 값은 모두 객체객체 타입은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조즉,원시 값은 변경 불가능한 값이지만 객체 타입의 값은 변경 가능한 값이다객체는 객체의 상태를 나타내
원시 타입의 값은 변경 불가능한 값이다객체 타입의 값은 변경 가능한 값이다원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다객체타입을 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다원시 값을 갖는 변수를 다른 변수에 할당하면
함수 {}중괄호를 '함수 바디'라고 한다함수에는 입력값과 출력값이 있다return으로 출력(반환)break문이 그러하듯 바디에서 return을 만나면 함수는 반환값을 반환하며 함수를 종료시킨다매개변수를 이용하여 함수에 입력값을 줄 수 있다변수는 접근할 수 있는 범위가
원시 타입의 값은 변경 불가능한 값이다객체 타입의 값은 변경 가능한 값이다원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다객체타입을 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다원시 값을 갖는 변수를 다른 변수에 할당하면
원시 타입의 값은 변경 불가능한 값이다객체 타입의 값은 변경 가능한 값이다원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다객체타입을 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다원시 값을 갖는 변수를 다른 변수에 할당하면
원시 타입의 값은 변경 불가능한 값이다객체 타입의 값은 변경 가능한 값이다원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다객체타입을 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다원시 값을 갖는 변수를 다른 변수에 할당하면
원시 타입의 값은 변경 불가능한 값이다객체 타입의 값은 변경 가능한 값이다원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다객체타입을 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다원시 값을 갖는 변수를 다른 변수에 할당하면
자바스크립트는 클래스 기반 객체지향 프로그래밍 언어가 아닌 프로토타입 기반의 객체지향 프로그래밍 언어이다.💡 클래스클래스는 함수이며 ,기존 프로토타입 기반 패턴의 syntactic sugar(문법적 설탕)이라 볼 수 있다.클래스와 생성자 함수는 모두 프로토타입 기반의
17.1 Object 생성자 함수
18.1 일급 객체
javascript 상속 방법 비교 생성자 함수 & 클래스 ES6 로 넘어오며 class개념을 등장시켜 적극적으로 객체 지향을 지원하기 전까지, 객체 지향 프로그래밍 구현에 가장 자주 쓰였던 방식은 pseudoclassical inheritance 방식이다. 💡p
개발자의 의도와는 상관 없이 발생한 암묵적 전역은 오류를 발생시키는 원인이 될 가능성이 크다.따라서 반드시 var, let, const 키워드를 사용하여 변수를 선언한 다음 사용해야 한다.잠재적인 오류를 발생시키기 어려운 개발 환경을 만들고 그 환경에서 개발하는 것이
메서드는 자신이 속한 객체의 상태, 즉 프로퍼티를 참조하고 변경할 수 있어야 한다.메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 먼저 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 한다.생성자 함수로 인스턴스를 생성하려면 먼저 생성자 함수가 존재햐야 한다.
표준 빌트인 객체는 ECMAScript 사양에 정의된 객체를 말하며, 애플리케이션 전역의 공통 기능을 제공한다.자바스크립트 실행 환경과 관계 없이 언제나 사용할 수 있다.표준 빌트인 객체는 전역 객체의 프로퍼티로서 제공된다.자바스크립트 실행 환경 (브라우저 환경 또는
전역에 존재하는 소스코드를 말한다.함수, 클래스 등의 내부 코드는 포함되지 않는다.함수 내부에 존재하는 소스코드를 말한다.중첩된 함수, 클래스 등의 내부 코드는 포함되지 않는다.전역 코드와 함수 코드 외에 eval 코드와 모듈 코드도 소스 코드의 종류이다! 자바스크립트
전역 객체는 전역 코드가 평가되기 이전에 생성된다.전역 객체에는 빌트인 전역 프로퍼티와 빌트인 전역 함수, 그리고 표준 빌트인 객체가 추가되며 동작 환경(클라이언트 사이드 또는 서버 사이드)에 따라 클라이언트 사이드 Wev API또는 특정 환경을 위한 호스트 객체를 포
클래스 클래스는 함수이며 기존 프로토타입 기반 패턴을 클래스 기반 패턴처럼 사용할 수 있도록 하는 문법적 설탕이라고 볼 수 있다. 생성자 함수와 클래스는 프로토타입 기반의 객체지향을 구현했다는 점에서 매우 유사하다. 💡 클래스와 생성자 함수의 몇가지 차이 클래스를
25.8.1 클래스 상속과 생성자 함수 상속
배열에는 원본 배열(배열 메서드를 호출한 배열, 즉 배열 메서드의 구현체 내부에서 this 가 가리키는 객체)을 직접 변경하는 메서드와,원본 배열을 직접 변경하지 않고 새로운 배열을 생성하여 반환하는 메서드가 있다.가급적 원본 배열을 직접 변경하지 않는 메서드를 사용하
배열 고차 함수 27.9 배열 고차 함수 고차 함수는 --> 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다. 고차 함수는 함수형 프로그래밍에 기반을 두고 있다. 💡 함수형 프로그래밍 함수형 프로그래밍은 순수 함수를 통해 부수 효과를 최대한 억제하여
new 연산자를 사용하지 않고 Number 생성자 함수를 호출하면\--> Number 인스턴스가 아닌 숫자를 반환한다.\--> 이를 이용하여 명시적으로 타입을 변환할 수 있다!인수로 전달된 숫자 값이 NaN 인지 검사하여 \--> 그 결과를 불리언 값으로 반환한다.❗️
Math Math 는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다. Math 는 생성자 함수가 아니다. --> Math 는 정적 프로퍼티와 정적 메서드만을 제공하는 표준 빌트인 객체이다! 29.1 Math 프로퍼티 29.1.1 Math.PI > 원주율
Date >Date 는 날짜와 시간(연, 월, 일, 시, 분, 초, 밀리초)을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수이다. UTC는 국제 표준시를 의미한다. 기술적인 표기에서는 UTC가 사용된다. KST(한국 표준시)는 UTC에 9시간을 더한 시간이다.
ES6에서 도입된 스프레드 문법 ... 은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서(spread)개별적인 값들의 목록으로 만든다.스프레드 문법을 사
실행 컨텍스트 스텍에 함수 실행 컨텍스트가 푸시되는 것은 바로 함수 실행의 시작을 의미한다.함수가 호출된 순서대로 순차적으로 실행되는 이유는함수가 호출된 순서대로 함수 실행 컨텍스트가 실행 컨텍스트 스택에 푸시되기 때문이다.이처럼 함수 실행 순서는 실행 컨텍스트 스택으
프로미스는 전통적인 콜백 패턴이 가진 단점을 보완하며 비동기 처리 시점을 명확하게 표현할 수 있다는 장점이 있다.비동기 함수란 함수 내부에 비동기로 동작하는 코드를 포함한 함수를 말한다.비동기 함수를 호출하면 함수 내부의 비동기로 동작하는 코드가 완료되지 않았다 해도
async / await는 프로미스를 기반으로 동작한다.async / await 를 사용하면 프로미스의 then/ catch/ finally 후속 처리 메서드에 콜백 함수를 전달해서 비동기 처리 결과를 후속 처리할 필요 없이\--> 마치 동기 처리처럼 프로미스를 사용할
https://media.vlpt.us/images/jen_jyseo/profile/11552755-7ca2-4f22-8f2c-6fbd037a1ca8/IMG_4377.GIF?w=240JavaScript는 느슨한 타입(loosely typed)의 동적(dynam