250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- bcrypt
- CORS
- JWT
- typescript
- 호이스팅
- 장고초기세팅
- status code
- 자바스크립트
- manytomanyfield
- 트랜잭션
- rebase
- Django
- westagram
- 스코프
- OSI7계층
- async/await
- crud2
- pm2
- wecode
- docker
- javascript
- 프로미스
- 노드
- django westagram
- on_delete
- 실행 컨텍스트
- Jest
- node
- TypeError: this.boardRepository.createBoard is not a function
- nodeJS
Archives
- Today
- Total
될때까지
JavaScript study :: 형변환 본문
728x90
const mathScore = prompt("수학 : "); // 90 입력
const engScore = prompt("영어 : "); // 80 입력
const result = (mathScore + engScore) / 2
console.log(result) // 결과값은 4540...???
세상에 이게 뭔... 기괴한 일이람!? 😳 자바스크립트는 파이썬보다 더 유연한? 언어인가보다.
90과 80을 입력했으니 85가 리턴될 줄 알았다. 하지만 prompt로 입력받은 값은 무조건 String 문자열이라고 하네?
오호라 그렇다면 에러를 리턴하겠지 왜냐 문자를 더하는 건 가능해도, 나누기가 어떻게 가능해?
하지만 나의 예상은 보기좋게 틀렸고, 4540을 리턴했다.
1. 암시적 변환
자바스크립트는 문자열 90과 80을 더한 9080을 자동으로 숫자로 형변환을 하고, 나누기 연산을 실행한다. 이를 자바스크립트에서는 암시적 변환이라고 한다. 즉, 자바스크립트가 자동으로 데이터 타입을 변환시킨다는 뜻. wooow 놀라워라
2. 명시적 변환
하지만 저렇게 암시적 변환이 되면 당연히 헷갈리지 않겠는가.. 그래서 형변환을 직접 개발자가 바꿔주기도 하는 데, 이를 명시적 변환이라고 한다. 명시적 변환이야 파이썬에서도 자주 했던 방식이라 이해하는 게 어렵지 않았다. 추가적으로 암기가 필요한 부분들이 있었는데, 까먹지 않게끔 블로그에 정리해두고 넘어가자. 암기가 아니라 익숙해지는 게 목표다😊
String() | 문자형으로 형변환 |
Number() | 숫자형으로 형변환 * Number("문자열이 들어왔습니다.") >> 리턴값 : NaN * Number(null) >> 리턴값 : 0 * Number(undefined). >> 리턴값 : NaN |
Boolean() | 불린형으로 형변환 * 0, "", null, undefined, NaN >> 리턴값 : false * Boolean('0'), Boolean(" ") >> 리턴값 : true |
* 참고한 유튜브 강의 : 코딩앙마
728x90
'학습 > JavaScript, TypeScript' 카테고리의 다른 글
JavaScript study :: 동등연산자와 일치연산자 (0) | 2022.03.14 |
---|---|
JavaScript study :: 전위연산자, 후위연산자 (0) | 2022.03.14 |
JavaScript study :: 변수 var, let, const (0) | 2022.03.10 |
HTML + CSS 간단 프로젝트(by 드림코딩엘리) (0) | 2022.03.09 |
HTML 스터디 (1) | 2022.03.07 |