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

자바스크립트 문

· 6년 전 · 1575 · 13

아래 연산의 결과는?

 

'1' + 2 + 3;

 

1 + 2 + '3';

댓글 작성

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

로그인하기

댓글 13개

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

123
33
과연 정답은?
@각주 답만 알겠습니다. 가물가물한 기억 좀 풀어 주세요. ~~
왜 이렇게 되는 거죠?
123 / 33
6년 전
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)이면 아마 좀 더 복잡해질거 같긴 한데 제가 알기론 그냥 연산은 이런걸로 압니다.

게시글 목록

번호 제목
9439
9433
9414
9399
9396
9391
9380
9356
9348
9342
9331
9323
9305
9304
9298
9295
9280
9269
9266
9265
9262
9258
9257
9252
9250
9243
9241
9239
9236
9235