this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수다.this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다.this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정
자바스크립트 객체는 다음과 같이 크게 3개의 객체로 분류할 수 있다.자바스크립트는 Object, String, Number, Boolean, Symbol, Date, Math 등 40여 개의 표준 빌트인 객체를 제공한다.Math, Reflect, JSON을 제외한 표준
var, let, const 키워드 없이 변수를 선언하고 이를 참조한 경우 ReferenceError가 발생하지 않는데, 자바스크립트 엔진이 암묵적으로 전역 객체에 해당 변수를 동적 생성하여 전역 변수처럼 사용할 수 있도록 하기 때문이다. 이러한 현상을 암묵적 전역이라
자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍 언어이다.객제지향 프로그래밍은 프로그램을 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나 여러 개의 독립적 단위, 즉 객체의 집합으로 프로그램을 표현하려는 프로
현대 프로그래밍 언어에서 TypeScript와 JavaScript의 관계는 다소 독특하다.TypeScript은 JavaScript 위에 레이어로서 자리잡고 있는데, JavaScript의 기능들을 제공하면서 그 위에 자체 레이어를 추가한다. 이 레이어가 TypeScrip
JavaScript는 처음에 브라우저를 위한 스크립팅 언어로 만들어졌다.JavaScript가 처음 나왔을 때, 수십 줄 이상의 코드를 작성하는 것은 다소 이례적인 일이었기에 웹 페이지 속 짧은 코드들을 위해 사용할 것으로 여겨졌다.하지만 JS가 유명세를 타며 실행 엔진
state를 업데이트 하려고 할 때 이전 상태에 의존하고 있으면 그 내용이 대체될 수 있으므로 이전 상태를 유지하면서 바뀐 부분만 수정되게 해야 한다.두 가지 방식이 있는데 두 번째 방식이 더 좋다. 항상 최신 상태의 스냅샷에서 작업할 수 있도록 하는 좀 더 안전한 방
다음과 같은 조건을 만족하는 객체를 일급 객체라 한다.무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다.변수나 자료구조에 저장할 수 있다.함수의 매개변수에 전달할 수 있다.함수의 반환값으로 사용할 수 있다.자바스크립트의 함수는 위의 조건을 모두 만족하므로
객체를 생성하는 방법에는 크게 두 가지가 있다. 객체 리터럴 : let obj = {}; 생성자 함수 : let obj = new Object(); 17.1 Object 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다
내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다.내부 슬롯과 내부 메서드는 자바스크립트 엔진에서 실제로 동작하지만 개발자가 직접 접근할 수 있도록 외부로 공개된 객체의 프로
15. var 키워드로 선언한 변수의 문제점 var 키워드로 선언된 변수의 특징은 다음과 같다. 15.1.1 변수 중복 선언 허용 var 키워드로 선언한 변수는 중복 선언이 가능하다.
0과 1로만 이루어진 정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk을 만드려고 합니다.i의 초기값을 0으로 설정하고 i가 arr의 길이보다 작으면 다음을 반복합니다.만약 stk이 빈 배열이라면 arri를 stk에 추가하고 i에 1을 더합니다.stk
정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.2 ≤ num_list
아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해
전역 변수의 무분별한 사용은 위험하다.변수는 생성되고 소멸되는 생명 주기가 있다.변수에 생명 주기가 없다면 한번 선언된 변수는 프로그램을 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다.전역 변수의 생명 주기는 애플리케이션의 생명 주기와 같다.함수 내부에서 선언된
스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다.즉, 스코프는 식별자가 유효한 범위를 말한다.위 예제에서 자
몽고디비의 특징 중 하나는 자바스크립트 문법을 사용한다는 것이다.노드도 자바스크립트를 사용하므로 데이터베이스마저 몽고디비를 사용한다면 자바스크립트만 사용해 웹 애플리케이션을 만들 수 있는 것이다.하나의 언어만 사용하면 되므로 생산성도 매우 높다.하지만 몽고디비는 흔히
React.memo: 의존하는 상태가 없는 변수가 불필요하게 렌더링 되는 것 막음.useMemo: 함수가 불필요하게 렌더링되는 것 막음. 특정 함수의 결과값을 저장하고, 해당 값이 변경되지 않으면 이전에 계산된 값을 재사용한다. (값을 기억함) 이를 통해 동일한 계산을
지금까지는 모든 데이터를 변수에 저장했다. 변수에 저장했다는 것은 컴퓨터 메모리에 저장했다는 뜻이다. 따라서 서버가 종료되면 메모리가 정리되면서 저장했던 데이터도 사라져버린다. 이를 방지하기 위해서는 데이터베이스를 사용해야 한다. >다양한 데이터베이스가 있지만, 여기
npm에는 서버를 제작하는 과정에서 겪게 되는 불편을 해소하고 편의 기능을 추가한 웹 서버 프레임워크가 있다. 대표적인 것이 익스프레스이다. 익스프레스의 장점 http 모듈의 요청과 응답 객체에 추가 기능들을 부여했다. 기존 메서드들도 계속 사용할 수 있지만, 편리한