본문 바로가기
2020-2021/TIL

Block Chain [typescript] #1

by Tate_Modern 2021. 2. 22.

헷갈리게 만드는 Javascript



1. intro함수의 인자 값에 city가 없어도 출력이 되는 이유는? 

첫번째 로직은 intro 함수에 필요한 인자 값을 3개를 요구해서, 3개를 모두 넣었을 때

모든 값이 정상적으로 출력되는 것을 볼 수 있다.

하지만 그 밑의 경우에는 똑같이 함수가 요구하는 인자 값은 3개지만,

함수를 실행시킬 때 city라는 인자를 넣지 않은 상태로 함수가 실행이 되었다.

[자바스크립트는 변수 선언시 값을 할당하지 않아주면 기본값으로 undefined가 할당된다.]

 

2. area에 NaN이 출력된 이유는?

첫번째 코드를 보면 area 부분에 obj.heigth obj.heigth로 철자를 잘못 써줬기 때문이다.

 

3. 분명 저 셋은 모두 다른데 왜 true가 나올까?

동등 비교(==)는 0과 false를 구별하지 못한다.

피연산자가 빈 문자열일 때도 구별하지 못한다.

이유는 동등 연산자는 타입이 다른 피연산자와 비교할 때 피연산자를 숫자형으로 바꾸기 때문!

빈 문자열과 false는 숫자형으로 변환되면 0 이 된다.

(이를 구별하기 위해선 === 일치 연산자를 사용해야 한다.)


코드를 작성하다 보면 에러로 인해서 시간을 많이 뺏기는 경우가 많은데 대부분 에러의 원인은

오타 또는 사소한 실수를 확인하지 발견하지 못하고 넘어가서 발생한다.

Javascript는 다른 언어들에 비해 결괏값 또는 인자 값에 대한 타입 지정, 배열의 용량 설정을 하지 않아

편리하긴 하지만 코드의 양이 많아질수록 오히려 편리함이 더 큰 불편함으로 돌아왔다.

 

이번 2주, 4주 프로젝트를 하면서도 오타와 인자값에 이상한 값을 넣는 등의 바보 같은 실수를 많이 해서

고생을 많이 했는데, 타입 스크립트는 사용자의 실수를 알려줘 디버깅이 쉽다고 하는 것을 들어 이번 기회에 공부해보려고 한다.

 

https://nomadcoders.co/courses

타입스크립트는 노매드 코더의 컨텐츠인 타입 스크립트로 블록체인 구현하기로 스프린트를 진행하면서, 

이해가 안 가는 부분은 공식문서를 읽으며 개념을 익히려고 한다.

잘해보자!

'2020-2021 > TIL' 카테고리의 다른 글

Block Chain [typescript] #3  (0) 2021.02.25
Block Chain [typescript] #2  (0) 2021.02.23
0203  (0) 2021.02.03
0110  (2) 2021.01.10
0104  (0) 2021.01.04

댓글