자바스크립트의 모든 값은 데이터 타입을 가진다
C나 자바와 같은 정적타입언어는 변수를 선언할 때 데이터 타입을 사전에 선언해야 한다(명시적 타입 선언)
ex) int num; char c;
정적타입 언어는 변수의 타입을 변경할 수 없고, 변수에 선언한 타입의 맞는 값만 할당이 가능하다
그러나 자바스크립트는 정적 타입 언어와 다르게 변수를 선언할 때 타입을 선언하지 않고 var, let, const 와 같은 키워드를 사용해 변수를 선언한다.
- 자바스크립트는 선언한 데이터 타입의 값만 할당할 수 있는 것이 아니라 어떠한 데이터 타입의 값이라도 자유롭게 할당할 수 있다
- 변수는 선언이 아닌 할당에 의해 타입이 결정되며, 재할당에 의해 변수 타입은 언제든지 동적으로 변할 수 있다
→ 이러한 특징을 동적 타이핑이라고 부르며, 자바스크립트는 동적 타입 언어이다
- 자바스크립트는 엔진에 의해 암묵적으로 타입이 자동적으로 변환되기도 한다
→ 잘못된 예측으로 인해 프로그램은 오류가 날 가능성이 매우 높아진다
따라서 주의가 필요하다. 주의는 아래와 같다
❌주의 사항❌
1.변수는 꼭 필요한 경우에 한해 제한적으로 사용한다
- 값은 재할당에 의해 언제든지 변경될 수 있으므로 동적 타입 언어인 자바스크립트는 타입을 잘못 예측해 오류가 발생할 가능성이 높아진다
→ 변수의 개수가 많으면 많을수록 오류가 발생할 확률도 높아지게 되기 때문이다
2. 변수의 유효 범위는 최대한 좁게 만들어 변수의 부작용을 억제해야 한다
- 변수의 유효 범위가 넓으면 넓을수록 변수로 인해 오류가 발생할 확률이 높아지기 때문이다
3. 전역변수는 최대한 사용하지 않도록 한다
- 어디서든지 참조, 변경이 가능한 저너역변수는 의도치 않게 값이 변경될 가능성이 크고, 다른 코드에 영향을 줄 가능성도 높다
→ 복잡성을 증가시키며 처리 흐름을 추적하기 어렵게 만들고, 오류의 원인을 특정하기 어렵게 만들기 때문이다
4. 변수보다는 상수를 사용해 값의 변경을 억제한다(const를 사용하자)
5. 변수 이름은 변수의 목적이나 의미를 파악할 수 있도록 네이밍한다
- 변수 이름 뿐만아니라 모든 식별자는 존재 이유를 파악할 수 있는 적절한 이름으로 지어야 한다
→ 식별자의 유효 범위가 넓을수록 명확한 이름을 명명해야 한다
→ 개발자의 의도를 나태내는 명확한 네이밍은 협업과 코드의 가독성을 높혀주기 때문이다
'JavaScript > 모던자바스크립트' 카테고리의 다른 글
06장 데이터 타입 (0) | 2022.07.19 |
---|---|
05장 표현식과 문 (0) | 2022.07.17 |
자바스크립트 - 4장 변수 (0) | 2022.07.10 |