inflearn logo
강의

Khóa học

Chia sẻ kiến thức

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

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

235

baldongdongdong9902

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

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

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

1

baldongdongdong9902

답변 감사합니다 😀

getBook 실습 예제중 질문드립니다!

0

419

1

__proto__ 에 대해 질문드립니다

0

315

1

호이스팅 코딩시간 풀이

0

358

1

[코딩 시간] JS {name: value} 이해

0

340

1

[[Scope]] 와 [[Environment]]는 같은 개념인가요

0

345

0

slice

0

239

0

스코프가 뭔가요?

0

307

0

어려워요

0

255

0

강사님 변수이름에 get을 붙이는 이유를 알고싶습니다.

0

339

1

[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.

0

300

0

스코프 질문

0

253

1

fn 함수와 book.get 함수 차이 질문드립니다...ㅠㅠㅠ

1

542

1

this binding 논리 질문입니다.

0

279

1

파라미터 값을 매핑할 때

0

251

0

ES6부터는 this 바인딩을 환경 레코드에서 참조한다고 들었습니다.

0

209

0

정리시간 입니다.

0

228

0

정리시간입니다.

6

269

0

정리 시간 입니다.

0

203

0

정리시간입니다.

6

227

0

코딩시간 입니다.

1

222

0

선생님 스코프 질문이 있습니다.

1

240

0

[정리시간] 해보았습니다!

0

175

0

선생님 질문있습니다!!

0

159

0

질문드려도 될까요 선생님..

0

217

0