Trip to JavaScript(8)
-
[Revisited JS] 빌트인 객체에 대해 이해해보자
21.1 자바스크립트 객체의 분류 표준 빌트인 객체, 호스트 객체(web API, Node.js API), 사용자 정의 객체 21.2 표준 빌트인 객체 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects Standard built-in objects - JavaScript | MDN This chapter documents all of JavaScript's standard, built-in objects, including their methods and properties. developer.mozilla.org Math, Reflect, JSON 빼고 다 생성자 함수 객체 표준 빌트인 객체가 생성한 인스턴스..
2023.09.19 -
[Revisited JS] strict mode를 이해해보자
20.1 strict mode란? 할당문으로 변수를 생성함 이때 전역 객체의 x 프로퍼티는 마치 전역 변수처럼 사용할 수 있다. 암묵적 전역 자바스크립트 문법을 엄격히 적용 20.2 strict mode의 적용 use strict; 20.3 전역에 strict mode를 적용하는 것은 피하자 20.4 함수 단위로 strict mode를 적용하는 것도 피하자 strict mode는 즉시 실행 함수로 감싼 스크립트 단위로 적용하는 것이 바람직하다. 20.5 strict mode가 발생시키는 에러 20.5.1 암묵적 전역 20.5.2 변수, 함수, 매개변수의 삭제 20.5.3 매개변수 이름의 중복 20.5.4 with 문의 사용 with 문은 전달된 객체를 스코프 체인에 추가한다. with문은 사용하지 않는 ..
2023.09.14 -
[Revisited JS] 프로토타입을 파훼해보자
프로토타입 기반 객체지향 프로그래밍 부모유전자에 기록이 되어 있기 때문에 쓸 수 있음. 19.1 객체 지향 프로그래밍 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조를 객체라 하며, 객체지향 프로그래밍은 독립적인 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임이다. 객체가 뭔지 알아야 프로토타입을 설명할 수 있기 때문 19.2 상속과 프로토타입 코드 재사용 생성자 함수는 동일한 프로퍼티 구조를 갖는 객체를 여러 개 생성할 때 유용하다. getArea 메서드를 중복 생성 모든 인스턴스가 중복 소유하는 문제가 생김 프로토타입에 기록하여 부모만 갖게 함 19.3 프로토타입 객체 프로토타입 = 프로토타입 객체 객체 간 상속을 구현하기 위해 사용된다. [[Prototype]]이라는 내..
2023.09.12 -
[Revisited JS] 비동기 완벽 이해를 꿈꿔보자
https://www.youtube.com/watch?v=zi-IG6VHBh8&ab_channel=%EA%B0%80%EC%9E%A5%EC%89%AC%EC%9A%B4%EC%9B%B9%EA%B0%9C%EB%B0%9CwithBoaz https://medium.com/sessionstack-blog/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways-to-better-coding-with-2f077c4438b5
2023.09.10 -
[Revisit JS] 프로퍼티 어트리뷰트를 이해해보자
프로퍼티는 객체의 그 프로퍼티가 맞는 것 같고 그 속성들을 어트리뷰트라고 하는 것 같다. 16.1 내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드를 선행적으로 이해해야 한다. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다. ECMAScript 사양에 등장하는 이중 대괄호 ([[...]])로 감싼 이름들이 내부 슬롯과 내부 메서드다. > 다시 보니 자바스크립트 엔진에서 사용한다는 게 중요한 것 같다. 가장 큰 내부 슬롯이 [[Prototype]] 접근할 수 없다. 하지만 예외가 있다. [[Prototype]] __proto__를 통해 간접적으로 접근할 수 있다. 16.2 프로퍼티 어트리뷰트와 프로퍼티 디스크..
2023.09.07 -
[Revisit JS] 클로저 이해해보기
상위 스코프를 [[environment]]에 상위 스코프의 참조를 저장한다. 외부 함수보다 중첩 함수가 더 오래 유지되눈 경우 중첩 함수는 이미 생명 주기가 종료한 외부 함수의 변수를 참조할 수 있다. 이러한 중첩 함수를 클로저라고 부른다. 클로저는 중첩 함수가 상위 스코프의 식별자를 참조하고 있고 중첩 함수가 외부 함수보다 더 오래 유지되는 경우에 한정하는 것이 일반적이다. 상위 스코프에 2개 이상의 변수 예를 들어, x, y가 있으면 모던 브라우저는 최적화를 통해 참조하고 있는 변수만 기억한다. 참조된 변수를 자유 변수라고 부른다. 클로저란 함수가 자유 변수에 대해 닫혀있다라는 의미다. 이를 좀 더 알기 쉽게 의역하자면 "자유 변수에 묶여있는 함수"라고 할 수 있다. 클로저는 자바스크립트의 강력한 기..
2023.09.06