1. 문장(Statement)
자바스크립트 문장의 끝에는 세미콜론(;)이 있어도 되고 없어도 됩니다. 하지만 한줄에 여러 문장을 적으려면 세미콜론(;)으로 구분을 해줘야 합니다.
자바스크립트는 대소문자를 구별하며 유니코드를 사용합니다. 그러므로 변수명등 식별자에 "한글"을 사용할 수 있습니다.
var 좋아하는과일 = "배"; // 변수에 공백은 사용할 수 없습니다.
2. 주석
프로그램에 설명을 달 수 있습니다.
// 한줄 주석 입니다. 슬래쉬 2개 이후 부터 줄 끌까지 입니다.
/*
이건 여러줄 주석입니다.
slash-star부터 다음 start-slash가 나올때까지가 주석입니다.
*/
3. 식별자(Identifier)
변수명, 함수명, 클래스명등 식별자는 시작하는 글자가 영문자, 유니코드가 가능하며, 특수문자로는 언더스코어(_), 달러기호($)로 시작할 수 있습니다. 뒤의 글자는 숫자도 가능합니다.
// 가능한 조합입니다.
let name = "홍길동";
let 이름 = "홍길동";
let _name = "홍길동";
let $name = "홍길동";
// 아래는 문법 오류가 됩니다.
let 9name = "홍길동"; // 숫자로 시작하면 안됩니다.
let #name = "홍길동"; // 시작에 쓸 수 있는 특수문자는 _, $ 밖에 없습니다.
let my name = "홍길동"; // 변수명에 공백은 쓸 수 없습니다.
3. 변수 선언
변수를 선언하는 방법은 네 가지가 있습니다.
- 변수이름에 직접 값으로 초기화해서 사용하는 방법입니다. 이 경우 어디서 선언하든 전역변수가 되어 버립니다.
name = "홍길동";
console.log(name);
결과)
홍길동
- var 선언자(declarator)를 사용하여 선언합니다. 이 경우 중복 선언이 가능하고, 선언하는 위치에 따라서 전역변수 또는 함수 레벨의 지역변수 선언이 됩니다.
var name; // 선언만 합니다. 이때 가지는 값은 undefined입니다.
name = "홍길동"; // 선언된 변수에 값을 할당합니다.
var pear = "배"; // 선언과 동시에 값을 할당합니다.
var name = "김철수"; // 같은 이름의 변수를 중복선언할 수 있습니다.
- let 선언자를 사용하여 선언합니다. 이 경우 중복 선언이 안되고, 선언하는 위치에 따라서 전역변수 또는 블록 레벨의 지역 변수 선언이 됩니다.
let name; // 선언만 합니다. 이때 가지는 값은 undefined입니다.
name = "홍길동"; // 선언된 변수에 값을 할당합니다.
let pear = "배"; // 선언과 동시에 값을 할당합니다.
let name = "김철수"; // 문법 오류 입니다. let은 중복선언이 안 됩니다.
- const를 사용해서 상수를 선언합니다. 선언과 동시에 초기화 해줘야 하고, 나중에 값을 변경할 수 없습니다. 배열이나 객체는 const로 선언하더라도 배열이나 객체의 참조만 상수가 되는 것이므로 내용을 변경하는 것은 가능합니다.
const NAME = "홍길동"; // 상수는 선언과 동시에 초기화 해야 합니다.
NAME = "김철수"; // 문법 오류 입니다. 상수는 값을 변경하지 못합니다.
const ARR = ['a', 'b', 'c']; // 상수 배열을 선언합니다.
ARR[0] = 'd'; // 내용 값을 변경하는 것은 가능합니다.
ARR = []; // 문법 오류입니다. 다른 배열로 변경할 수 없습니다.
선언하지 않고 바로 쓰는 전역변수나 중복 선언이 가능한 var를 이용한 선언은 프로그램이 대규모화 될수록 오류를 만들 소지가 커집니다. 그래서 ES6에서는 let과 const가 도입 되었습니다. 아직도 위 네가지 방법이 모두 사용될수 있지만 let과 const만 사용하는 것이 좋을것 같습니다.
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
JavaScript - 반복문 (1) | 2022.04.12 |
---|---|
JavaScript - 흐름 제어와 오류처리 (0) | 2022.04.04 |
Node.js + TypeScript 프로젝트 만들기 (0) | 2022.03.23 |
TypeScript를 사용하는 React App 만들기(feat. yarn berry) (0) | 2022.03.20 |
Node.js 패키지 관리자 yarn 설치하기 (0) | 2022.03.18 |