lessons 21. 전역 객체
·
프로그래밍/js
2023.02.18 자바스크립트 스터디 6회차 공부 사이트: https://poiemaweb.com/ 21. 전역 객체(Global Object) 모든 객체의 유일한 최상위 객체를 의미한다. (브라우저에서는 window 객체, Node.js에서는 global 객체) [특징] ◼ 전역 객체는 실행 컨텍스트에 컨트롤이 들어가기 이전에 생성됨 ◼ constructor가 없음 → new 연산자로 생성 불가능 → 개발자가 전역 객체 생성하는 것 불가능 ◼ 전역 스코프를 가짐 ◼ 전역 객체의 자식 객체 사용 시 전역 객체 생략 가능 (window.document...라고 쓸 필요 없이 document..) ◼ 전역 변수/함수를 프로퍼티로 가짐 ◼ 표준 빌트인 객체(ex. alert...)는 전역 객체의 자식 객체 ..
lessons 20. 빌트인 객체
·
프로그래밍/js
2023.02.18 자바스크립트 스터디 6회차 공부 사이트: https://poiemaweb.com/ 20. 빌트인 객체 자바스크립트의 객체를 크게 3가지로 나누면 다음과 같다. - Native Object - Host Object - User-defined Object 1) 네이티브 객체(Native Object) 네이티브 객체는 애플리케이션의 환경과 관계없이 언제나 사용할 수 있다. EX) Object. String, Number, Function, Array .... 네이티브 객체를 Global Objects라고 부르기도 한다. 이는 전역객체(Global Object)와는 다른 의미로 사용된다. 객체 설명 Object ◼ Object() 생성자 함수는 객체를 생성함. ▪ 인수 값이 null / un..
lessons 19. 객체지향 프로그래밍
·
프로그래밍/js
2023.02.18 자바스크립트 스터디 6회차 공부 사이트: https://poiemaweb.com/ 19. 자바스크립트의 객제치향 프로그래밍 1) 클래스 기반 vs 프로토타입 기반 종류 설명 클래스 기반 언어 - 클래스로 객체의 자료구조와 기능을 정의, 생성자 통해 인스턴스 생성 - 클래스: 같은 종류의 집단에 속하는 속성과 행위를 정의 - 모든 인스턴스는 클래스에서 정의된 범위 내에서만 작동, 런타임에 구조 변경 불가능. 프로토타입 기반 언어 - 클래스 개념 대신 별도의 객체 생성 방법 존재. (객체 리터럴, Object() 생성자 함수, 생성자 함수) - 이미 생성된 인스턴스의 자료구조와 기능을 동적으로 변경할 수 있음. 2) 생성자 함수와 인스턴스의 생성 생성자 함수와 new 연산자 통해 인스턴스..
lessons 18. 클로저
·
프로그래밍/js
2023.02.18 자바스크립트 스터디 6회차 공부 사이트: https://poiemaweb.com/ 18. 클로저 1) 클로저의 개념 클로저는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 매커니즘을 의미한다. ① 내부 함수를 외부 함수 내에서 호출하는 경우 function outer(){ var x = 10; var inner = function() { console.log(x); }; inner(); } outer(); //10 outer()의 내부함수 inner(). inner()는 자신을 포함하고 있는 outer()의 변수 x에 접근할 수 있다. 렉시컬 스코핑에 의해 inner()는 상위 스코프는 outer()이다. #렉시컬 스코핑(Lexical scoping): 스코프는 함수를 ..
lessons 17. this 키워드
·
프로그래밍/js
2023.02.18 자바스크립트 스터디 6회차 공부 사이트: https://poiemaweb.com/ 17. this 키워드 자바스크립트에서 함수는 호출될 때 매개변수로 전달되는 인자값 외에 arguments 객체와 this를 암묵적으로 전달받는다. Java에서 this는 인스턴스 자신을 가리키는 참조변수이다. 그러나 자바스크립트는 함수 호출 방식에 따라 this에 바인딩되는 객체가 달라진다. 함수를 선언할 때 this에 바인딩할 객체가 정적으로 결정되는 것이 아니라. 함수가 어떻게 호출되었는지에 따라 this에 바인딩할 객체가 동적으로 결정된다. [함수 호출 방식] - 함수 호출 - 메소드 호출 - 생성자 함수 호출 - apply, call, bind 호출 ✅ 요약 1. 기본적으로 this는 전역 객체..
lessons 16. Strict mode
·
프로그래밍/js
2023.02.12 자바스크립트 스터디 5회차 공부 사이트: https://poiemaweb.com/ 16. Strict mode 1) Strict mode 개발자의 의도와 상관없는 암묵적 전역 변수는 오류를 발생시키는 원인이 될 수 있다. #암묵적 전역 변수: 변수를 선언하지 않았을 때 자바스크립트는 암묵적으로 전역 객체에 프로퍼티를 생성. ES5에서 Strict mode가 추가되었다. 자바스크립트 언어의 문법을 엄격히 적용하여 ⓐ 오류를 발생시킬 가능성이 높거나, ⓑ엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생시킨다. → 암묵적 전역 변수에 에러를 발생시킬 수 있다. 'use strict'; function func(){ x = 10; // 선언 X } func(); ..
lessons 15. 스코프
·
프로그래밍/js
2023.02.12 자바스크립트 스터디 5회차 공부 사이트: https://poiemaweb.com/ 15. 스코프 스코프: 참조 대상 식별자를 찾아내기 위한 규칙. 식별자 이름의 충돌을 방지한다. 1) 스코프의 구분 구분 설명 전역 스코프 (Global scope) - 코드 어디에서든지 참조 가능 - 전역 변수: 전역에서 선언된 변수. 어디에든 참조 가능 지역 스코프 (Local scope or Function-level scope) 함수 코드 블록이 만든 스코프. 자신과 하위 함수에서만 참조 가능 - 지역 변수: 지역(함수) 내에서 선언된 변수. 그 지역과 하부 지역에서만 참조 가능. 2) 스코프의 특징 대부분의 C-family 언어는 블록 레벨 스코프를 따른다. 코드 블록 내에서만 참조 가능한 스코..
lessons 14. 프로토타입
·
프로그래밍/js
2023.02.12 자바스크립트 스터디 5회차 공부 사이트: https://poiemaweb.com/ 14. 프로토타입 1) 프로토타입 객체 클래스 기반 객체지향 프로그래밍: 객체 생성 이전에 클래스를 정의, 이를 통해 객체(인스턴스) 생성 프로토타입 기반 객체지향 프로그래밍: 클래스 없이도 객체 생성 가능 ① 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있다. - 상속 개념과 유사하게 부모 객체의 프로퍼티/메소드를 상속받아 사용할 수 있게 한다. - 이러한 부모 객체를 프로토타입 객체 또는 프로토타입이라고 한다. var student = { name: '홍길동', score: 88 }; console.log('student 객체는 \'name\' 프로퍼티를 가지고 있는가? >..