inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코어 자바스크립트

실행 컨텍스트 (execution context)

블록스코프에 관한 질문

980

minseong2083
0

안녕하십니까 선생님

자바스크립트를 공부하면서 이해가 가지 않는 부분이 있어서 질문 드리게 되었습니다.

let v1 = 1;

var v2 = 2;

{

function func() {

console.log(v1 + v2);

}

func = function() {

console.log(v1*v2);

}

function func() {

console.log(v1+v2);

}

let v1 = 3;

var v2 = 4;

}

function func(){

console.log(v2-v1);

}

func();

 

여기에서 func();을 실행하면 호이스팅 되어 v1 * v2의 값이 나오고 블록안의 맨밑에 function func()의 v1+v2를 주석처리하면 왜 곱셈이 안나오고 블록안에서의 맨위에있는 v1+v2의 값이 나오는지 궁금합니다.

javascript 블록스코프 호이스팅

답변 1

0

정재남

  1. block scope는 본 강의 영역에서 벗어난 내용입니다.

  2. sloppy mode에서는 block scope 내에서 함수 선언시 정확한 결과를 보장하지 않습니다.

"In non-strict code, function declarations inside blocks behave strangely. Do not use them."

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/block#block_scoping_rules_with_var_or_function_declaration_in_non-strict_mode

비전공 국비수료생이 볼 수 있을까요?

0

384

1

로드맵으로 프론트엔드 전향이 가능할까요?

0

404

1

요즘시장에 MERN스택으로 개발하는 프로젝트가 많이 있는지 궁금합니다.

0

449

1

이번에 새로 개강한강좌에대해서 문의요

1

241

1

완강 후 결과물 뒤 커버가 겹쳐서 보이는 경우

0

343

0

여러개의 강의 중 어떤걸 먼저 들어야하나요?

1

398

1

업데이트로 인해, Adroid 설정부분이 조금 다릅니다.

1

440

1

질문이 아니라서 여기에 올립니다.

0

376

1

현업에서 백엔드로는 보통 뭐를 사용하나요?

1

394

1

요즘 현직에서 프론트 개발할때...

0

438

1

Frontend도 공부하고 싶은데, NEXT JS 와 Flutter 중 무엇이 나을까요

0

1046

1

대대형

1

383

1