강의

멘토링

커뮤니티

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

00님의 프로필 이미지
00

작성한 질문수

풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]

모던 웹을 위한 최신 Javascript 데이터 타입 변환과 조건문 이해

데이터값

작성

·

172

0

안녕하세요. 'Javascript 데이터 타입 변환과 조건문 이해' 강의 중 10분 37초 쯤에서 헷갈린 것이 있어 질문드립니다.

처음에 value1의 변수값을 1로 선언했는데, 

뒤에 

console.log(++value1===3); 에서는 왜 value1변수값이 3이 되는 것인가요??

console.log(value1++ === 2); 

로 하면 그냥 일시적으로(?) 1을 더한 것이 아니라 선언한 변수의 값이 아예 바뀌는 것인가요?

답변 1

0

안녕하세요. 문법이 직관적이지 않아서, 헷깔리실 수는 있는데요.

일반적인 다른 언어에서 (특히 C 언어등) 많이 쓰는 일종의 단축 문법입니다.

value1 이 1 인상태에서

value1++ === 2 라는 의미는 다음 두 라인의 명령입니다.

value1 === 2 

value1 = value1 + 1

따라서, 위 코드가 실행되면 value1 은 2가 된 상태고, 이 상태에서

++value1 === 3 은

value1 = value1 + 1 (즉 3이 됩니다.)

value1 === 3 (즉 true가 됩니다.)

위와 같이 ++는 변수에 값을 업데이트하는 명령이 포함되어 있고요. 이 부분은 영상을 다시 보시면서, 위 글을 읽어보신다면, 충분히 이해하실 수 있으실 것입니다.

00님의 프로필 이미지
00

작성한 질문수

질문하기