diff --git "a/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/example.md" "b/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/example.md" new file mode 100644 index 0000000..3a41571 --- /dev/null +++ "b/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/example.md" @@ -0,0 +1 @@ +[URI & URL](https://www.charlezz.com/?p=44767) \ No newline at end of file diff --git "a/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" "b/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" new file mode 100644 index 0000000..103db96 --- /dev/null +++ "b/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/\352\270\260\354\226\265\354\227\220 \353\202\250\353\212\224 \353\202\264\354\232\251.md" @@ -0,0 +1,44 @@ +# ✏️ 기억에 남는 내용 +* 자바스크립트 객체의 분류 + * **표준 빌트인 객체** + * ECMAScript 사양에 정의된 객체, 애플리케이션 전역의 공통 기능을 제공한다. + * 실행 환경(브라우저, Node.js)과 관계없이 언제나 사용할 수 있다. + * 전역 객체의 프로퍼티로서 제공되며 별도의 선언 없이 전역 변수처럼 언제나 참조할 수 있다. + * **호스트 객체** + * 실행 환경(브라우저, Node.js)에서 추가로 제공하는 객체를 말한다. + * 브라우저 환경에서는 클라이언트 사이드 Web API를, Node.js 환경에서는 고유 API를 제공한다. + * **사용자 정의 객체** + * 위와 같이 기본 제공되는 객체가 아닌 사용자가 직접 정의한 객체를 말한다. + +* 표준 빌트인 객체 + * 자바스크립트는 40여 개의 표준 빌트인 객체를 제공한다. + * Math, Reflect, JSON을 제외한 표준 빌트인 객체는 모두 **인스턴스를 생성할 수 있는 생성자 함수 객체다.** + * 생성자 함수 객체인 표준 빌트인 객체는 **프로토타입 메서드와 정적 메서드를 제공한다.** + * 생성자 함수 객체가 아닌 표준 빌트인 객체는 **정적 메서드만 제공한다.** + +* 원시값과 래퍼 객체 + * 원시값이 존재하는데도 객체를 생성하는 표준 빌트인 생성자 함수가 존재하는 이유는 무엇일까? + * 원시값에 대해 마치 객체처럼 마침표 표기법(또는 대괄호 표기법)으로 접근하면 자바스크립트 엔진이 일시적으로 원시값을 연관된 객체로 변환해 준다. + * 이처럼 **문자열, 숫자, 불리언 값에 대해 객체처럼 접근하면 생성되는 임시 객체를 래퍼 객체(wrapper object)라 한다.** + * 따라서 **String, Number, Boolean 생성자 함수를 new 연산자와 함께 호출하여 문자열, 숫자, 불리언 인스턴스를 생성할 필요가 없으며 권장하지도 않는다.** + +* 전역 객체 + * 전역 객체(global object)는 **코드가 실행되기 이전 단계에 자바스크립트 엔진에 의해 어떤 객체보다도 먼저 생성되는 특수한 객체**이며, **어떤 객체에도 속하지 않은 최상위 객체다.** + * 브라우저 환경에서는 window(self, this, frames), Node.js 환경에서는 global이 전역 객체를 가리킨다. + * globalThis는 전역 객체를 가리키는 통일된 식별자이며 ECMAScript 표준 사양을 준수하는 모든 환경에서 사용할 수 있다. + * 전역 객체의 특징 + * 전역 객체는 개발자가 의도적으로 생성할 수 없다. 즉, 전역 객체를 생성할 수 있는 생성자 함수가 제공되지 않는다. + * 전역 객체의 프로퍼티를 참조할 때 **window(또는 global)를 생략할 수 있다.** + +* 빌트인 전역 프로퍼티 + * Infinity + * NaN + * undefined + +* 빌트인 전역 함수 + * eval (사용 금지) + * isFinite + * isNaN + * parseFloat + * parseInt + * encodeURI / decodeURI \ No newline at end of file diff --git "a/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/\355\200\264\354\246\210.md" "b/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/\355\200\264\354\246\210.md" new file mode 100644 index 0000000..9b699c2 --- /dev/null +++ "b/7\354\243\274\354\260\250 (20~22\354\236\245)/21. \353\271\214\355\212\270\354\235\270 \352\260\235\354\262\264/L2HYUNN/\355\200\264\354\246\210.md" @@ -0,0 +1,7 @@ +# 📝 간단한 퀴즈 + +1. 자바스크립트 객체의 종류 3가지를 간단하게 서술하시오. + +2. `String`, `Number`, `Boolean` 생성자 함수를 `new` 연산자와 함께 호출할 필요가 없는 이유를 래퍼 객체(wrapper object)와 연관지어 설명하시오. + +3. `eval` 함수의 사용을 금지해야하는 이유를 서술하시오. \ No newline at end of file