강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

hotsunny님의 프로필 이미지
hotsunny

작성한 질문수

애플 웹사이트 인터랙션 클론!

다른 씬의 캔버스 처리하기

선언문 질문이요!

작성

·

191

0

const와 let은 {} 블록 단위여서, 블록 밖에것은 하위 블럭안에 영향을 미치나 하위블록에서 선언된 변수는 상위 블록에서 영향을 미치지 못한다고 배웠는데, 

그래서 playanimation 함수 내 전역으로 objs 등이 선언되어서 

case 0~3 까지 영향을 미치는건 이해가 됬는데

case 2 안 if 안에서 선언된 objs,values 변수가 왜 playanimation함수내에서 선언된 전역변수랑 다른건지 모르겠어요

덮어씌우는? 그런 느낌일까요? 

(6분 30초 쯤 부터? 언급하셨어요!)

퀴즈

69%나 틀려요. 한번 도전해보세요!

HTML Canvas 요소를 화면 크기에 맞춰 반응형으로 동적 조절할 때, 가장 핵심적으로 사용되는 방법은 무엇일까요?

CSS media 쿼리를 사용하여 고정된 크기 값을 여러 개 정의한다.

자바스크립트로 현재 화면의 비율을 계산하여 캔버스 크기에 적용한다.

캔버스에 `width: 100%; height: 100%;` CSS 스타일을 적용한다.

캔버스에 Flexbox 속성을 직접 적용하여 크기를 유연하게 조절한다.

답변 1

1

1분코딩님의 프로필 이미지
1분코딩
지식공유자

{ } 내부에서 선언된 변수이므로, 그 안에서만 사용할 수 있는 지역변수라서 그렇답니다.

아래와 같은 코드가 있는 경우,
foo는 { } 밖에도 선언이 되었고 안에도 선언이 되었는데,
{ } 안에서 콘솔에 출력을 해보면 내부에 선언된 200값을 가진 foo를 사용하게 되므로
콘솔에는 200이 출력되는 것이죠!

const foo = 100;

if (true) {
const foo = 200;
console.log(foo);
}
hotsunny님의 프로필 이미지
hotsunny
질문자

아아 이렇게 간단하게 보니까 한번에 이해됐어요!

매번 답변해주셔서 감사합니다 ㅠㅠ

hotsunny님의 프로필 이미지
hotsunny

작성한 질문수

질문하기