강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của baldongdongdong9902
baldongdongdong9902

câu hỏi đã được viết

JavaScript Trung và Cao cấp: Cốt lõi của Engine

4. Các Closure và hàm ẩn danh, Closure trong JS

정보 보호에 관해 질문이 있습니다.

Viết

·

225

3

이 전 강의의 클로저 코드에서도 정보가 보호 되는것 아닌가요? 정보보호 관점에서 아래의 코드와 즉시실행 익명함수로 한번 더 감싼것이 어떠한 차이가 있는 것인지 궁금합니다.

function book() {
  var point = 100;
  var getPoint = function(param) {
    point = point + param;
    return point;
  };
  return getPoint;
}
var obj = book();
log(obj(200));



덧붙여 좋은 강의 정말 감사합니다. 😄

javascript

Câu trả lời 2

3

tonextday님의 프로필 이미지
tonextday
Người chia sẻ kiến thức

즉시실행 익명함수는 함수 안에 작성한 변수(var)를, 함수를 빠져나오면 자동으로 GC 처리를 하게됩니다. 즉, 메모리에서 지워지므로 변수가 남지 않습니다. 그래서 일반적으로 초깃값을 설정하는 것과 같이 한 번만 처리할 때 사용합니다. 또한, 함수 안의 변숫값을 유지하려면 지워지지 않는 곳에 저장해야 하는데요, ES5에서는 특정 오브젝트에 저장하고 ES6+에서는 주로 Map 오브젝트에 저장합니다.
정보보호 차원에서는 클로저 형태가 좋습니다. 아울러 대상에 차이가 있지만 ES5의 디스크립터를 사용하여 정보 보호를 할 수도 있습니다. 좋은 질문 감사합니다.^^

1

baldongdongdong9902님의 프로필 이미지
baldongdongdong9902
Người đặt câu hỏi

답변 감사합니다 😀

Hình ảnh hồ sơ của baldongdongdong9902
baldongdongdong9902

câu hỏi đã được viết

Đặt câu hỏi