var 키워드로 선언한 변수는 블록 스코프를 따르지 않습니다. 함수 스코프만 따릅니다.var변수의 스코프는 전역 스코프 혹은 함수 스코프입니다.var키워드로 선언한 변수는 중복으로 선언이 가능합니다.var키워드로 중복 선언한 선언문은 무시됩니다.중복 선언과 동시에 초기
자바스크립에서 함수는 객체 타입의 값이다. 리터럴은 값을 생성하기 위한 표기법이다. 숫자 리터럴, 객체 리터럴로 숫자, 객체를 생성하듯 함수 리터럴로 함수를 생성할 수 있다.자바스크립트에서 함수는 4가지 방식으로 정의할 수 있다. 함수 선언문함수 표현식Function
생성자 함수는 일반 함수와 차이는 없고 대문자로 시작하며 new 키워드를 사용해서 객체를 생성한다고 했습니다.생성자 함수를 사용해서 객체를 생성할 때는 반드시 new 키워드를 사용해야 한다고 했습니다.하지만 개발자도 사람인지라 new 키워드를 사용하지 않고 생성자 함수
this 값은 런타임에 결정됩니다.this는 메서드를 호출한 객체를 참조합니다. 즉, this 값은 호출 시점에 결정됩니다.자바스크립트에서는 메서드가 어디에 정의되어 있는지 상관하지 않고 메서드를 호출한 객체가 무엇이냐에 따라 this는 메서드를 호출한 객체를 참조합니
스코프는 자바스크립트 엔진이 식별자를 검색하는 규칙이자 식별자가 유효한 범위다.스코프 내에서 식별자는 유일해야 한다.스코프에는 전역 스코프, 지역 스코프가 있다.전역 스코프는 코드 가장 바깥 영역이다.전역 변수는 전역 스코프에 선언된 변수다. 전역 변수는 어디서든 참조
📒프로토타입 자바스크립트는 함수형, 프로토타입 기반 객체지향 프로그래밍 프로그래밍 언어다. 자바스크립트에서 원시 값을 제외한 모든 것은 객체다. ✔️상속과 프로토타입 자바스크립트는 프로토타입을 기반으로 상속을 구현한다. 생성자 함수가 생성한 모든 인스턴스는
자바스크립트는 프로토타입 기반 객체지향 언어라 클래스가 필요없다.자바스크립트 클래스는 함수이며 프로토타입 기반 패턴은 클래스 기반 패턴처럼 사용할 수 있도록 하는 syntatic sugar다.클래스도 함수이기 때문에 일급 객체다.클래스 정의는 클래스 선언문, 클래스 표
자바스크립트에서도 클래스를 사용할 수 있습니다.인스턴스 변수와 인스턴스 메서드 둘 다 자바스크립트에서는 속성(property)라고 칭합니다.실행하면 위와 같은 결과를 얻을 수 있습니다.자바스크립트는 좀.. 박살난 언어라서 프로퍼티(인스턴스 변수)를 선언 안하고 생성자에
자바스크립트에서 함수가 실행되려면 '함수 코드 평과 과정'에서 생서된 함수 실행 컨텍스트가 콜 스택에 푸시되어야 한다.자바스크립트 엔진은 단 하나의 콜 스택을 갖는다. 따라서 함수를 실행할 수 있는 창구가 단 하나이고, 동시에 두 개 이상의 함수를 실행할 수 없다.콜
자바스크립트에는 7개의 데이터 타입이 존재합니다.원시 타입: 문자열, 숫자, 불린, undefined, null, 심볼그리고 객체 타입(참조 타입 (함수, 객체, 배열 등))심볼은 ES6에 추가된 새로운 원시 타입입니다.원시값들은 리터럴로 값을 생성할 수 있지만 심볼
이터레이션 프로토콜은 ES6에 도입되었으며, 순회 가능한(iterable) 데이터 컬렉션을 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙입니다.ES6 이전의 순회 가능한 데이터 컬렉션(배열, 문자열, 유사 배열 객체, DOM 컬렉션) 등은 통일된 규
📒 스프레드 문법은 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만들어줍니다. 스프레드 문법의 결과는 개별적인 값들의 목록이기 때문에 스프레드 문법의 결과를 변수에 할당할 수 없습니다. 스프레드 문법을 사용할 수 있는 대상이 되는 것들은 이터러블에 한정됩
구조분해 할당의 대상이 되는 것들은 이터러블, 객체이며 이터러블 혹은 객체를 구조 분해하여 1개 이상의 변수에 개별로 할당하는 것입니다.할당 기준은 배열의 인덱스입니다. 이터러블(배열) 요소 순서대로 각 변수에 할당되는 것입니다.할당 받을 변수는 배열 리터럴 형태로 선
쉽게 이야기하면 앞에만 보고도 판단할 수 있으면 굳이 뒤까지 보지 않겠다는 의미입니다.이 개념은 JavaScript에만 존재하는 것은 아닙니다.OR 연산은 둘 중 하나만 true가 되면 true 평가됩니다.즉 앞에 내용이 true면 뒷 내용은 볼 필요도 없이 true로
이전 포스팅에서는 단축 평가(short-circuit evaluation)에 대해서 살펴보았습니다.단축 평가를 이용하여 논리 연산의 결과를 결정 짓는 피연산자를 그대로 반환하는 특징을 이용해 if 문을 대체하거나 혹은 객체가 null 혹은 undefined인 경우에 발
try {...} 블록 안의 코드를 실행하고 실행 중에 문제가 없었다면 catch 블록은 건너뛰고 try 블록 이후 나머지 남은 코드를 실행합니다.try 블록 코드 실행 도중 문제가 생겼다면 발생한 시점에서 try 블록 코드의 실행이 중단되고 바로 catch블록으로 제