본문 바로가기

JavaScript55

[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.
[JavaScript] 실행 컨텍스트(Execute Context) (1) 실행 컨텍스트란 - scope, hoisting, this 등의 동작원리를 담고 있는 javascript의 핵심 원리이다. - 즉, 실행 가능한 코드가 실행되기 위해 필요한 환경이다. - LIFO 구조이다. - 실행 컨텍스트의 종류는 전역, 함수, eval - 전역 컨텍스트는 측정 함수가 실행되지 않는 한 모든 스크립트는 전역 컨텍스트에서 실행된다. 전역 객체로 window가 할당된다. - 함수 컨텍스트는 함수가 실행될 때마다 실행 컨텍스트가 생성되고, 함수가 동작이 끝나면 삭제된다. 호출이 되어야지만 생성이 된다. var x = 'xxx'; function foo () { var y = 'yyy'; function bar () { var z = 'zzz'; console.log(x + y + z.. 2023. 10. 17.