목적
- 브라우저 기능 추가
- 버튼 클릭하면 뭔가 실행
- 서버에 데이터 전송
- 서버에서 데이터 수신
- …
- 서버 애플리케이션
실행
- 브라우저
.js
파일 불러와서 실행
<script>
태그에 작성
- 콘솔
- js 런타임(Node.js, bun, Deno)
문법
변수
생성
var name = '철수';name = '뭐시기';
-
재할당 가능
var name = '철수';name = '민수'; // 오류 안남
const name = '철수';name = '민수'; // 오류 발생
-
스코프(변수에 접근 가능한 범위)
- let / const: 블록 스코프(중괄호)
- var: 함수 스코프
- let은 무조건 정의한 중괄호 안에서만 접근 가능
- var은 정의한 함수 안에서만 접근 가능
타입
- 원시값
- 문자열
- 큰 따옴표 (““)
- 작은 따옴표 (’’)
- 백틱 (``)
- 수(number)
- boolean(true / false)
- null
- undefined (정의 안됨)
- 객체
js const object = { name: '철수', age: 19 }
- 비교할 때 메커니즘
- 원시값: 값을 비교
- 객체: 어디에 보관있는지 비교