티스토리 뷰
💥 자바스크립트의 마법
어제 배웠던 req.params 를 이용해 자바스크립트를 좀 더 배웠다!
① 이 코드의 결과는 맨 위의 주석에도 나왔듯이 {"num : "18"} 이었다.
1이 숫자가 아닌 문자열로 표시되는 것이다.
그렇다면 이 코드는 어떻게 나올까?
② 이 코드의 결과는 {"test" : 1} 이었다...
즉, 문자열이 아닌 숫자로 표시된다는 것.
그럼 이렇게 중간에
let number = req.params.n - 10
if ((number) > 5) {
console.log(number)
console.log('number의 값이 5보다 큽니다.')
라는 코드를 넣었을 때, 어떻게 표시가 될까?
①의 코드 결과물은 숫자가 아닌 문자열로 나오니까 연산이 될 수 없다.
그럼 에러가 뜰까? 결과를 봐보자!
아까와 동일하게 {"num" : "18"} 으로 문자열로 표시된다. 그럼 console.log는 오류가 뜨겠군 후후..
? 어림없지
예상을 뒤엎고, req.params.n => 18을 넣었으니 18 - 10 = 8 / 8 > 5 => true
number값과 'number의 값이 5보다 큽니다.' 라는 텍스트를 콘솔창에 띄워버렸다.
즉, 무슨말이냐..... req.params.n은 문자열이 아닌 숫자로 인식됐다는 거다.
자바스크립트는 문자로 된 숫자를 진짜 숫자처럼 취급을 하고있는 것이다.
자바스크립트가 아닌 다른 언어에선 절대 있을 수 없는 일이다ㅋㅋㅋㅋ...
사실 이렇게 그냥 써도 된다. 문제는 없다... 그래도 정확하게 문자를 숫자로 바꾸는 법을 써보겠다!
💥 parseInt
parseInt 는 문자열을 숫자로 바꿔주는 역할을 한다.
더도말고 덜도말고 일단 해보는 게 답 😃
문자열로 표시됐던 req.params.n 을 parseInt로 묶어준 뒤 아래의 req.params.n도 number로 바꾸고 실행했다.
캬... 진짜 "8" 이 아닌 8 로 표시가 됐다. 문자열을 숫자로 바꾸는 법! parseInt 기억해두자 :)
앞서 말했듯이, 굳이굳이 이렇게 안해도 문제는 없다. 에러도 안 뜨고 편한대로 사용해도된다!
하지만 본인같이 왕초보 라면.. 이렇게 제대로 하나하나 배우는 게 훨씬 이해가 쉽다고 생각한다 :)
뭔가 FM대로 해야할 것 같달까🙄
하여튼 이번 parseInt도 꽤나 재밌는 수업이었다👍
'웹 개발 공부하기' 카테고리의 다른 글
[11.19] 객체를 만들어서 API 테스트를 해보자😀 (2) | 2024.11.19 |
---|---|
[11.19] req.query는 뭐야?😲 (0) | 2024.11.19 |
[11.18] Node.js의 생태계를 정리해보자!😏 (1) | 2024.11.18 |
[11.18] express랑 json 공부중 (1) | 2024.11.18 |
[11.14] HTTP 메소드와 Node.js 동작원리🙄 (0) | 2024.11.14 |