클로저
-
[Day 35] JS 클로저 활용 & ClassTIL/멋쟁이사자처럼 FE스쿨 2기 2022. 5. 18. 23:55
클로저를 이용한 모듈패턴, 사용자 정의 타입 패턴, 혼합 패턴 1. 모듈패턴 function Person(){ let age=15; //외부에서 접근할 수 없는 값 return { getAge: function(){ return age }, setAge: function(updatedAge){ age = updatedAge } } } const person = new Person(); console.log(person.getAge()); //15 console.log(person.age);//undefined person.setAge(40) console.log(person.getAge());//40 2. 사용자 정의 타입 패턴 function Person(){ this.age=13; } Person.p..
-
[JS] ClosureWeb/JS 2022. 5. 12. 01:10
자바스크립트에서 함수의 유효범위는 그 함수를 어디에서 실행됐는냐가 아니라 어디서 정의됐느냐에 따라 달라진다. 자바스크립트는 static (lexical) scope(함수 선언은 한 번밖에 못하는데 이거를 static, 정적이라 칭함)를 채택한다. 클로저란 부모 함수 안에서 자식 함수를 선언하면 자식함수를 어디에서 호출하더라도 자식함수 안에서 부모함수의 변수에 접근할 수 있다는 것을 의미한다! 프리코드캠프 글에서 살펴본 예시를 가져왔다. 아래와 같은 함수가 있다고 해보자. let count = 1 function counter() { console.log(count) } counter() // print 1 함수의 큰 장점은 재사용성인데, 이 함수를 다양한 곳에서 재사용하고 싶기 때문에 아래와 같이 또 다..