...
자바스크립트 static 변수 구현
우선 결론만 말하자면, C나 자바에 있는 static 변수 문법은 자바스크립트에서는 존재하지 않는다. 그러면 사용하지 못하냐는 질문은 그건 또 아니다. 간접적으로 구현해서 정적 변수처럼 사용할 수 있다.
전역 변수 사용하기
무식하게 전역변수를 static변수로 이용하는 방법이다. 가장 간편하지만 전역변수는 가급적으로는 쓰지 않는 것이 바람직 하다.
var cnt=0; // 전역변수
function aa() {
cnt++;
console.log(cnt);
}
aa() // 1
aa() // 2
aa() // 3
aa() // 4
클로저를 이용한 구현
let static_value = (function static_func(value) {
let i = value;
return function() {
return ++i;
}
})(0); // 정적 변수 시작을 0으로 초기화
function main() {
let val = static_value(); // 정적 변수 val 선언. 이제 함수 호출할때 마다 변수값이 하나씩 오른다.
console.log(val);
}
main(); // 1
main(); // 2
main(); // 3
main(); // 4
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.