테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 문

아래 연산의 결과는?

 

'1' + 2 + 3;

 

1 + 2 + '3';

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 13개

기억이 가물가물하긴 한데 질러보면

123
33
과연 정답은?
@각주 답만 알겠습니다. 가물가물한 기억 좀 풀어 주세요. ~~
왜 이렇게 되는 거죠?
15 / 33
...?맞나..
아르키어드 님이 맞추신 것 같아요!
쌍따옴표, 따옴표는 문자열이니 > 1
나머지는 순서대로 더하기

15 하나
33 하나



만약 틀리면?
구글이 너 죽는다?

//

네 잘못 아니다. 내가 무식하여 제대로 못 배운 탓!
어? 왜죠?

왜 각주 님이 정답이죠?

궁금. ㅎㅎ

문자열이 먼저 온 경우, 연산을 안 하는 건가요?
<script type="text/javascript">
var result = '1' + 2 + 3;
document.write(result.toString());
</script>

확인하니 123 입니다.
왜 그런지 이것을 모르겠어요! ㅡㅡ.
혹시요. 따옴표 기준으로 움직입니까?
따옴표가 있는 곳 이후는 모두 문자열. 뭐 이런 기준요.
................................ 행여나 그러면 안 되어서 삭제.
궁금해요. ㅎ
성질머리 급하여 확인합니다.

<script type="text/javascript">
// var result = '1' + 2 + 3;
var result = 1 + 2 + '3' + 5 + 10 + '1' + 10 ;
document.write(result.toString());
</script>

결과 확인

33510110

////////////////

<script type="text/javascript">
// var result = '1' + 2 + 3;
var result = 1 + 2 + '3' + 5 + 10 + '8' + 10 + 2;
document.write(result.toString());
</script>

결과 확인

335108102

다시 더하기는 안 됨.
@orbital 계산이 거의 무조건 좌부터 시작되더군요. 즉 오른쪽에 숫자가 2+3이 있더라도,
'1'+2가 먼저 실행되어 '12'가 되고 이상태로 3이 더해져서 '123'이 되는걸로 압니다.

만약 연산 스택(Stack)이면 아마 좀 더 복잡해질거 같긴 한데 제가 알기론 그냥 연산은 이런걸로 압니다.
@각주 고맙습니다. 주신 말씀은 뒤늦게 알았습니다.
그러면서도 아직도 모릅니다. ㅎ 왜 다시 번복은 안 되는지 이것을요.
감사합니다.
@각주 어제는 혼동이 왔는데요.
이제 주신 말씀 이해가 됩니다.

감사합니다!

게시판 목록

퀴즈게시판

답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다.
채택은 '좋아요'와 같습니다.
글쓰기