본문 바로가기

자바스크립트30

[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.
[JavaScript] this (1) this란 - 함수를 호출하는 객체에 대한 참조를 의미한다. - 어떻게 호출되는지에 따라 바인딩되는 것이 동적으로 결정된다. (2) 호출 방법 - 전역에서의 this - 전역에서의 this는 기본적으로 window 객체이다. console.log(this); // window - 일반 함수의 this - 일반 함수에서의 this는 window이다. 단 strict mode에서는 undefined이다. function a() { console.log(this); } a(); // window function b() { 'use strict' console.log(this); } b(); // undefined - 메서드의 this var a = 'wangi'; var b = { a: 'eddy', .. 2023. 10. 17.