Item 20 다른 타입에는 다른 변수 사용하기
다른 타입에는 별도의 변수를
변수를 무분별하게 재사용하면 타입 체커와 사람 모두에게 혼란을 준다.
다른 타입에는 별도의 변수를 사용하는 게 바람직한 이유는 다음과 같다.
서로 관련이 없는 두 개의 값을 분리한다.
변수명을 더 구체적으로 지을 수 있다.
타입 추론을 향상시키며, 타입 구문이 불필요해진다.
타입이 좀 더 간결해진다. (
string|number
대신string
과number
를 사용.)let
대신const
로 변수를 선언하게 된다.const
로 변수를 선언하면 코드가 간결해지고, 타입 체커가 타입을 추론하기 좋다.
Shadowed Variable (가려진 변수)
재사용되는 변수와 '가려지는' 변수를 혼동하지 말자.
여기서 두 id는 이름은 같지만 서로 아무런 관계가 없다. 그러므로 다른 타입으로 사용되어도 문제가 없다.
하지만 사람에게 혼란을 줄 수 있다.
많은 개발팀이 린터 규칙을 통해 '가려지는' 변수를 사용하지 못하도록 하고 있다. (
no-shadowed-variable
)
Summary
변수의 값은 바뀔 수 있지만 타입은 일반적으로 바뀌지 않는다.
혼란을 막기 위해 타입이 다른 값을 다룰 때에는 변수를 재사용하지 않도록 한다.
Last updated