
이번 포스팅은 JavaScript의 기본 문법 대해 정리했습니다.
값을 생성하거나 반환하는 코드로, 리터럴 = 값 자체를 의미합니다. 예시는 아래와 같습니다.
5
"hello"
true
[1, 2, 3]
{a: 1}
var a = 5;
var b = 5 + 3;
var c = true && false;
function add(a, b) {
return a + b;
}
add(10, 20);
프로그램이 수행할 동작을 정의하는 코드로, 하나 이상의 표현식으로 구성될 수 있으며, 대부분의 경우 세미콜론(;)으로 끝납니다.
let x = 6;
if (x > 10) {
console.log("크다");
} else {
console.log("작다");
}
for (let i = 0; i < 10; i ++) {
console.log(i);
}
특정 동작을 정의하거나 예약어로 사용되어 특정 기능을 수행하는 단어들로, 변수 이름이나 함수 이름으로 사용할 수 없습니다.
변수, 함수, 클래스, 모듈 등의 이름을 정의하는 데 사용되며 아래와 같은 특징을 갖고 있습니다.
[특징] -----
- 문자, 숫자, 달러 기호, 밑줄을 사용할 수 있음
- 문자, 달러 기호, 밑줄로 시작해야 함 (단, 숫자로는 시작할 수 없음)
- 예약어는 식별자로 사용할 수 없음
- 대소문자를 구분
[관례] -----
- 클래스 이름은 항상 대문자로 시작
- 변수, 함수, 속성, 메서드의 이름은 항상 소문자로 시작
- 여러 단어로 구성된 식별자는 각 단어의 첫 글자를 대문자를 사용 ⇒ camel case
자바스크립트에서 사용 가능한 자료형은 아래와 같습니다. 자료형을 확인하는 함수는 typeof()가 있습니다.
[원시(Primitive) 자료형]
- null - "값이 없음"을 나타내는 데이터 타입
- undefined - 변수는 선언되었지만 값이 할당되지 않은 상태
- boolean - 참, 거짓
- number - 숫자(정수, 실수, Infinity, -Infinity, NaN)
- BigInt - -2^53 ~ 2^53-1 범위 밖의 숫자를 표현
- string - 문자열
- Symbol - 고유하고 변경 불가능한 원시 값 → 주로 객체 속성의 공유한 식별자를 만들기 위해 사용
여기서 조금 특이하게 확인해 볼 내용이 있습니다. bigint 자료형으로 선언된 i를 조작한 내용입니다. 1을 추가하고 싶은 경우, i + 1 이 아닌 i + 1n 의 형태로 입력합니다.

그리고 문자열 비교 시, 문자열의 내용과 자료형을 비교하는 방법이 다릅니다. 문자열의 내용은 (==)의 형태, 자료형 비교는 (===) 로 표현합니다. (===)는 자료형 외에도 문자열 내용까지 비교합니다. 추가로, Symbol은 유니크 한 객체 자체를 비교하는 구문입니다.

객체 타입은 built-in objects 와 user defined objects 로 구분할 수 있습니다.
[빌트인 오브젝트]
objects, arrays, dates, maps, sets, intarrays, floatarrays, promises, ...
[유저 정의 오브젝트]
const person = { name: "홍길동", age: 23 };
위와 같은 예시가 있습니다.
여기서 Map 과 Object의 차이점을 잠시 정리했습니다. Map은 순서가 유지되고, Object는 순서가 유지되지 않는 큰 차이점이 존재합니다.

js에 대한 기본 문법에 대해 알아보았습니다. 강사님이 너무 대단하다고 생각되는 하루였습니다..개발자로서 기능 구현만 할 줄 아는 사람도 많은데, 기초 개념에 대한 용어와 특징, 예시까지 끊김없이 설명해주실 수 있다는 부분이 놀라웠습니다. 그리고 알고 계신 지식을 모두 알려주시려는 부분에서 매우 감사하게 느껴집니다! 여기까지가 4일차 오전의 내용이었으며, 아직 기초적인 내용이지만 초석을 잘 다져 놓고 실습할 때 빠르게 적응 할 수 있도록 준비해보겠습니다!