HTML상에서 자바스크립트 프로그램을 삽입하기 위해 사용.
<script src="/path/to/script.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
<script src="file.js">
alert(1); // src 속성이 사용되었으므로 이 코드는 무시됩니다.
</script>
ES5 배포 당시 새로운 기능이 추가되고 기존 기능 중 일부가 변경되었다. 기존 기능이 변경됨에 따라 하위 호환성 문제가 생길수 있기 때문에, 변경사항이 대부분 ES5에서 기본적으로 실행되지 않게 설계되었다. 대신 use strict
라는 지시자를 사용해 엄격 모드(strict mode)를 활성화 했을 때만 이 변경사항이 활성화 되게 설계하였다.
"use strict"
는 문자열처럼 생겼지만, 자바스크립트 최상단에 오면 전체가 모던한 방식으로 동작한다.
하지만 ES6의 배포 이후 class와 import 등의 구조를 사용하게 되면, 자동적으로 엄격 모드가 적용되기 때문에 이 둘의 구조를 사용하게 된다면 스크립트에 "use strict"
를 삽입할 필요가 없다.
'$'
와 '_'
는 변수명에 사용할 수 있다.'-'
은 사용될 수 없다.let
, return
등)는 사용할 수 없다.const
를 사용할 때 대문자로 작성하는 경우가 있는데, 색의 Hex코드 등 일반적으로 '하드코딩'한 값으 별칭을 만들 때 사용한다.const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";
// 색상을 고르고 싶을 때 별칭을 사용할 수 있게 되었습니다.
let color = COLOR_ORANGE;
alert(color); // #FF7F00
userName
, shoppingCart
등 사람이 읽을 수 있는 이름을 사용한다.a
,b
,c
등의 짧은 이름은 피한다.data
,value
같은 추상적인 이름은 최대한 피한다. 다만, 코드 문맥상 변수가 가리키는 데이터나 값이 아주 명확할 때 이런 이름을 사용하기도 한다.