본문

[질문] for문 질문좀요 ㅠㅜ

일시 추천 조회 784 댓글수 17


1

댓글 17

이상한데... console.log 쳐봐도 29 30 31 32 잘 나오는데...

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 11:39

ITEM_LIST[i] 부분이 잘못 된게 아닐까용

김간장게장 | (IP보기클릭)183.96.***.*** | 21.11.10 11:51
김간장게장

Number(ITEM_LIST[i].length)+Number(1);

김간장게장 | (IP보기클릭)183.96.***.*** | 21.11.10 11:52
김간장게장

혹시 다른 오류는 안 보이시나요?? 안 보인다면.. 그러면 말씀하신 부분 정보를 제가 다시 봐야겠군요. 제발...

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 11:53
보리슈와

1번째 for문은 몬다이나이 해보이고 2번째에서 문제가 생기는거 같아보이는데요

김간장게장 | (IP보기클릭)183.96.***.*** | 21.11.10 11:54
김간장게장

헐 센세.. 감사합니다. Number(ITEM_LIST[i].length)+Number(1); 이 부분 유심히 보고 +Number(1); 이거만 지웠는데 포문이 다 돌아요... 왜지....

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 11:57
보리슈와

아 length 메서드는요 말그대로 n개가 출력이 되는데 배열 출력하려면 n-1로 인덱스를 잡아줘야하기 때문에 Number(1)이 없어도 됨 ㅇㅇ

김간장게장 | (IP보기클릭)183.96.***.*** | 21.11.10 11:59
김간장게장

아님 말고

김간장게장 | (IP보기클릭)183.96.***.*** | 21.11.10 12:02
김간장게장

그렇군요... 그런 것 같아요...!

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 12:04

두번때 for 문 number(1) 때문에 인덱스 out of bound 에러 나서, 두번째 for문 안가는거. 리스트는 0부터 시작하니까 +number(1)이 필요없음. 일반적인 자바 프로그램이라면 exception 나니까 알 수 있는데, html이니까 화면에 출력되니 첫번째 for 성공한거처럼 보이지만 사실은 이때 그때 에러난거.

Kaze31 | (IP보기클릭)142.122.***.*** | 21.11.10 12:50
Kaze31

아 이런... 그냥 1부터 시작했으면 +number(1) 안 해도 됐을텐데... 아직 제가 생각이 컴퓨터가 아니라 사람 같이 생각하나봅니다. ㅠㅜ

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 13:00

왜 Number(1) 같은 걸 쓰시는 거죠 근데 숫자에 객체 씌워봤자 바뀌는 것도 없고 손해만 생길 탠데... 문자열에서 변환하려고 쓰는 건 이해할 수 있지만, 그마저도 parse int나 +같은 꼼수도 있고요.

플라스마단 조무래기 | (IP보기클릭)223.39.***.*** | 21.11.10 13:04
플라스마단 조무래기

어... 그거슨 제가 이제 막 배우는 학생이기 때문이죠.... 는 무의식의 흐름입니다...

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 13:05
보리슈와

자바스크립트 형변환이 좀 괴상망측하긴 한데, 보통 가능하면 Number나 String을 형변환에 쓰지 않기를 권합니다. 이들은 원시(primitive) 자료형을 감싸는 래퍼 객체이므로, 원시 자료형을 그대로 쓰는 것보다 성능이 저하될 수 있기 때문입니다. 물론 코드가 더 명확해 보인다고 쓰는 사람도 있지만...

플라스마단 조무래기 | (IP보기클릭)223.39.***.*** | 21.11.10 13:16
플라스마단 조무래기

지난번에 하는데 -는 형변환을 하지 않아도 괜찮았는데 +는 형변환을 안 하니까 7+1이 71로 바뀌더군요 ㄷㄷ.. 그래서 Number를 막 쓰게 된 것 같습니다. 타입스크립트인가 추천하시는 분도 계시던데 뭔지 모르기도 하고요...

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 13:22
보리슈와

자바스크립트 암시적 형변환이 좀 이상해요. php랑 함께 기괴한 언어 설계로 악명 높습니다. 이건 문자열+숫자=문자열+문자열로 암시적 형변환이 나와서 그렇습니다. 문자열-문자열은 없으니 앞 값을 숫자로 변환을 시도하고, 성공하면 숫자-숫자로 하고요. 이건 어딘가에서 자료형이 마구 뒤섞이고 있다는 뜻인데, 그 부분을 찾아 그것만 숫자로 변환해주면 될 겁니다. 1같은 리터럴에 굳이 씌워주지 않아도요. 타입스크립트는 자바스크립트에 자료형 표시를 추가한 확장 언어인데, 자료형 표시가 잘 되어있으면 그를 추론해서 잘못된 사용법을 경고해줍니다. 예컨대 숫자가 들어갈 자리에 a+3을 넣었는데, a가 문자열이라면 숫자가 들어갈 곳에 문자열이 들어갔다고 경고해주는 식입니다. 타입스크립트의 특징은 자바스크립트의 상위집합이라는 거라서, 자바스크립트만 알면 쉽게 쓸 수 있습니다. 일단 자바스크립트에 충분한 자신감을 갖게 되시면 시도해 보세요.

플라스마단 조무래기 | (IP보기클릭)223.39.***.*** | 21.11.10 13:29
플라스마단 조무래기

엌ㅋㅋ 감사합니다. 충분한 자신감이라니...!

보리슈와 | (IP보기클릭)122.45.***.*** | 21.11.10 14:20
댓글 17
1
위로가기
JINKIller | 추천 0 | 조회 616 | 날짜 2022.08.23
복동이형 | 추천 0 | 조회 328 | 날짜 2022.08.18
식봉이는 식봉해 | 추천 1 | 조회 504 | 날짜 2022.05.29
_ 오잇스 | 추천 2 | 조회 402 | 날짜 2022.05.17
웨이핑 | 추천 0 | 조회 617 | 날짜 2022.01.03
_ 오잇스 | 추천 2 | 조회 727 | 날짜 2021.12.15
한달에한번씻음 | 추천 0 | 조회 501 | 날짜 2021.12.15
Cpt_Titus | 추천 0 | 조회 569 | 날짜 2021.12.14
아롱조 | 추천 1 | 조회 809 | 날짜 2021.12.09
_ 오잇스 | 추천 6 | 조회 2811 | 날짜 2021.12.08
_ 오잇스 | 추천 2 | 조회 845 | 날짜 2021.12.07
_ 오잇스 | 추천 7 | 조회 1831 | 날짜 2021.12.06
_ 오잇스 | 추천 8 | 조회 2917 | 날짜 2021.11.23
보리슈와 | 추천 0 | 조회 784 | 날짜 2021.11.10
이름쓰기귀찮아 | 추천 0 | 조회 581 | 날짜 2021.10.20
김간장게장 | 추천 7 | 조회 1919 | 날짜 2021.10.14
plokm715 | 추천 1 | 조회 707 | 날짜 2021.10.13
_ 오잇스 | 추천 4 | 조회 625 | 날짜 2021.10.13
김간장게장 | 추천 0 | 조회 557 | 날짜 2021.10.10
김간장게장 | 추천 13 | 조회 2849 | 날짜 2021.10.04
_ 오잇스 | 추천 2 | 조회 650 | 날짜 2021.09.26
_ 오잇스 | 추천 2 | 조회 734 | 날짜 2021.09.26
let {a}=this | 추천 7 | 조회 3704 | 날짜 2021.09.21
_ 오잇스 | 추천 2 | 조회 961 | 날짜 2021.09.19
_ 오잇스 | 추천 1 | 조회 855 | 날짜 2021.09.17
_ 오잇스 | 추천 2 | 조회 838 | 날짜 2021.09.16
_ 오잇스 | 추천 1 | 조회 1046 | 날짜 2021.09.15
이름쓰기귀찮아 | 추천 0 | 조회 910 | 날짜 2021.09.14
_ 오잇스 | 추천 1 | 조회 1612 | 날짜 2021.09.12
_ 오잇스 | 추천 1 | 조회 640 | 날짜 2021.09.12

1 2

글쓰기
게시판 매니저