"script" 태그를 이용하면 JavaScript을 HTML 문서 대부분의 위치에 삽입할 수 있다.
js의 코드의 양이 많은 경우 파일로 따로 나누어 저장이 가능하며
src 속성을 사용하여 HTML에 삽입이 가능하다.
<script src="main.js"></script>
URL 전체를 아래의 코드와 같이 사용이 가능하며 여러개도 같은 형식으로 사용이 가능하다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
script tag와 src속성은 동시에 사용되지 못하며, 동시에 사용되는 경우 src 속성이 먼저 선언되므로 src의 js만 실행된다.
<script src="main.js">
alert(Hello world!); // src 속성이 먼저 사용되었으므로 이 코드는 실행되지 않는다.
</script>
위의 js를 둘 다 실행 시키려면 각각 분리해서 사용하면 된다.
<script src="main.js"></script>
<script>
alert(Hello world!);
</script>
한 줄에 하나의 명령문만을 입력하는 것이 일반적이다.
// 잘못 된 예시
alert('Hello'); alert('world');
// 옳게 된 예시
alert('Hello');
alert('world');
줄 바꿈이 있다면 세미콜론은 생략할 수 있다.
하지만 세미콜론을 사용하는 것이 안전하므로 마지막에 항상 세미콜론을 붙이는 습관을 들이자!
주석은 아래와 같이 사용하며, 단축키는 ctrl + / 이다.
<script>
/*주석*/
</script>
변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 혹은 메모리 공간을 식별하기 위해 붙힌 이름이다.
쉽게 말하자면 데이터를 저장할 때 쓰이는 '이름이 붙은 저장소'이다.
변수는 크게 3가지의 종류가 있다.
let name = 'bsh'
console.log(name) // output: bsh
// 변수를 연달아 선언하는 것은 불가능 하다
let name = 'study' // output: Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'study'
console.log(study) // output: study
// 원시값의 재할당
const name = 'bsh'
name = 'study' // output: Uncaught TypeError: Assignment to constant variable.
// 객체의 재할당
const name = {
eng: 'bsh',
}
name.eng = 'study'
console.log(name) // output: { eng: "study" }
위에서 나온 스코프(scope) 용어에 대하여 설명하고자 한다.
스코프 : 식별자(변수명, 함수명, 클래스명 ...)의 유효 범위를 뜻한다.
선언된 위치에 따라 유효 범위가 달라지며 전역에 선언된 변수는 전역 스코프, 지역에 선언된 변수는 지역 스코프를 가진다.
javascript엔 변수 명명 시 규칙을 가지고 있다.