자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정(타입추론)된다. 그리고 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있다. 이러한 특징을 동적 타이핑이라고 한다.
자바스크립트 엔진의 의해 압묵적으로 타입이 변환하기도 한다. 동적 타입 언어는 유연성은 높지만 신뢰성은 떨어진다. 따라서 안정적인 프로그램을 만들기 위해서 이전에 데이터 타입을 체크해야 한다. 또한 변수를 사용할 때 다음과 같은 주의사항을 따라야 한다.
변수의 무분별한 남발은 금물이며, 필요한 만큼 최소한으로 유지하도록 주의해야 한다.
유효범위가 넓으면 넓을수록 변수로 인해 오류가 발생할 확률이 높아진다.
전역변수는 프로그램의 복잡성을 증가시키고 처리 흐름을 추적하기 어렵게 만들고, 오류가 발생할 경우 오류의 원인을 특정하기 어렵게 만든다.
변수 이름뿐 아니라 모든 식별자는 존재 이유를 파악할 수 있는 적절한 이름으로 지어야 한다. 특히 식별자의 유효 범위가 넓을수록 명확한 이름을 명명하도록 노력해야 한다.