본문 바로가기

JS30

클로저 목차1. 클로저란?2. 장점1. 클로저란?주변 상태(어휘적 환경)에 대한 참조와 함께 묶인(포함된) 함수의 조합정의는 어려워보이지만 쉽게 말하자면 어떤 함수의 내부에 정의된 다른 함수가 상위 스코프의 변수나 매개변수를 참조하는 내부함수를 클로저라고 한다.  2. 장점클로저는 사용하기에 복잡해 보인다. 그렇다면 이 복잡한 것을 무슨 이유에서 사용하는 것일까?1) 정보은닉과 캡슐화외부함수의 변수를 참조하는 내부함수를 반환받아 사용하므로써 외부함수의 변수에 직접 접근하지 못한다. function Num1() { let str = "클로저입니다."; return function Num2(newStr) { console.log(`수정 전 : ${str}, 수정 후.. 2024. 5. 7.
비동기 시간함수 목차1. setTimeout2. setInterval1. setInterval설정한 시간마다 콜백함수를 반복해서 수행하는 시간함수setInterval은 설정한 시간(밀리초)마다 콜백함수를 반복한다. 주로 타이머나 주기마다 반복 수행해야할 기능이 있을 때 사용한다.//문법setInterval(콜백함수,설정시간)ex)let num = 1;setInterval(()=>{ console.log(num+"번 함수수행"); num++; },3000)/* 1번 함수수행 2번 함수수행 3번 함수수행 ...*/설정하는 시간이 밀리초이기에 위 코드에서 설정된 시간은 3000/1000 = 3초로 설정된 시간마다 콘솔에 몇 번 수행되는지 표시된다.2.setTimeout설정한 시간이 지난 .. 2024. 5. 6.
접근제어자 목차1. private2. protected3. public 1. private해당 클래스 내부에서만 접근할 수 있게 하는 제어자class Person { private name: string; constructor(name: string) { this.name = name; }}const person = new Person('홍길동');console.log(person.name);console.log에 person의 name을 출력하는 부분에서 접근불가하다는 에러가 발생한다. 2. protected해당 클래스 및 하위 클래스에서 속성에 접근할 수 있게 하는 제어자class Person { protected name: string.. 2024. 5. 5.
setter와 getter 목차1. setter2. getter3. 왜 사용해야할까?1. setter클래스 내의 속성에 접근하여 기존 데이터를 갱신하기 위한 메소드class 클래스{ constructor(속성값1,속성값2){ this.속성1 = 속성값1; this.속성2 = 속성값2; } set속성1(속성값1){ this.속성1 = 속성값1; }}ex)class Person{ constructor(name,age){ this.name = name; this.age = age; } setName(name){ this.name = name; }}const person = .. 2024. 5. 3.