본문 바로가기

자바스크립트32

[JavaScript]Global Object - 모든 객체의 유일한 최상위 객체를 의미한다. - browser-side에서는 window, server-side에서는 global - 실행 콘텍스트에 컨트롤이 들어가기 이전에 생성되어 constructor가 없기 때문에 new 연산자를 사용할 수 없다. 즉, 개발자가 전역 객체를 생성하는 것은 불가능하다. - 전역 스코프를 갖게 된다. - 자식 객체를 사용할 때 전역 객체의 기술은 생략 가능 (window.document → document) 하지만, 이름이 충돌하는 경우엔 명확하게 기술해야 한다. ​ (1) 전역 프로퍼티(Global property) - 전역 객체의 프로퍼티를 의미한다. - 전역에 사용하는 값을 나타내기 위해 사용한다. - Infinity : 양, 음의 무한대를 나타내는 숫자 값 .. 2023. 10. 19.
[JavaScript]Built-in Object (1) 네이티브 객체 - ECMAScript 명세에 정의된 객체를 말한다. - 애플리케이션 전역의 공통 기능을 제공하며, 애플리케이션 환경과 관계없이 사용 가능하다. - Object, String, Number, Function, Array, RegExp, Date, Math, symbol, 래퍼객체 등이 있다. - error : 런타임 에러 발생 시 throw var a = new Object(); // 변수 a에 빈 객체를 저장한다 console.log(typeof a, a); var b = new Object('String'); // 생성자 함수의 인수값에 따라 강제 형변환된 객체가 반환된다. console.log(typeof b, b); var c = new Function('x', 'y', 'r.. 2023. 10. 19.
[JavaScript]객체 지향 프로그래밍 (1) 프로토타입 기반 언어 - JavaScript는 프로토타입 기반 객체 지향 언어이다. - 상속, 캡슐화 개념은 체인과 클로저등으로 구현 가능하다. - 생성자 함수와 new연산자를 통해 객체 생성할 수 있다. - 프로토타입 방법을 쓰면 상속이 가능하기 때문에 메모리의 양을 줄일 수 있다. ///생성자 함수/// function Point(x,y){ this.x = x; this.y = y; this.sum = function(){ return this.x + this.y; } } point1 = new Point(5,5); point2 = new Point(8,8); console.log(point1); // Point { x: 5, y: 5, add: [Function] } console.log(p.. 2023. 10. 18.
[JavaScript]클로저(closure) (1) 클로저란 - 자신을 포함하고 있는 외부함수보다 내부함수가 더 오래 유지되는 경우, 외부 함수 밖에서 내부함수가 호출되더라도 외부함수의 지역 변수에 접근할 수 있는 함수를 클로저라 한다. - 간단히 말해 자신이 생성될 때의 환경을 기억하는 함수라고 말할 수 있다. function outer(){ var name = 'wangi'; console.log(name) return function inner(){ const age = 26 console.log(age, name) // outer함수가 끝났음에도 불구하고 접근 가능 } } var a = outer() // wangi a() // 26wangi (2) 특징 - 클로저는 객체의 메서드에서도 사용할 수 있다. - 동일한 외부함수 안에서 만들어진 .. 2023. 10. 18.