
참고한 교재

특징
모든 값은 데이터 타입을 가짐
메모리에 2진수, 즉 비트의 나열로 저장
메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있음
| 종류 | 예시 | 설명 |
|---|---|---|
| 정수 리터럴 | 42, -10, 0x1A (16진수) |
음수와 16진수 표기법도 가능 |
| 부동 소수점 리터럴 | 3.14, -0.01, 2.0e3 (지수 표기) |
소수점이나 지수 표기법을 사용할 수 있음 |
| 문자열 리터럴 | "Hello, World!", 'A', "123" |
문자의 나열, 큰 따옴표나 작은 따옴표로 감싸짐 |
| 불리언 리터럴 | true, false |
참(True) 또는 거짓(False) |
| null 리터럴 | null |
값이 없음 |
| undefined 리터럴 | undefined |
값이 정의되지 않았음 |
| 객체 리터럴 | { key: value, key2: value2 } |
키와 값의 쌍으로 이루어진 객체를 초기화 |
| 함수 리터럴 | function(x) { return x * 2; } |
함수를 정의, 변수에 할당하거나 다른 함수 내에서 사용될 수 있음 |
| 정규 표현식 리터럴 | /pattern/g, /[a-z]/i |
문자열에서 패턴을 검색하는 데 사용되는 정규 표현식을 정의 |
| 종류 | 예시 | 비고 |
|---|---|---|
| 2진수 리터럴 | 0b1010 |
0b 표기 ES6부터 지원 |
| 8진수 리터럴 | 0o16 |
0o 표기 ES6부터 지원 |
| 16진수 리터럴 | 0x1F |
0x 표기 |
2진수, 8진수는 ECMAScript 2015 (ES6)부터 도입
최신 브라우저 및 Node.js 버전에서는 문제없이 사용 가능
// 2진수 (Binary)
let binaryNumber = 0b1010; // 2진수 1010 (10진수로는 10)
console.log(binaryNumber); // 출력: 10
// 8진수 (Octal)
let octalNumber = 0o16; // 8진수 16 (10진수로는 14)
console.log(octalNumber); // 출력: 14
// 16진수 (Hexadecimal)
let hexNumber = 0xA; // 16진수 A (10진수로는 10)
console.log(hexNumber); // 출력: 10
var score = 50 + 50;
50 + 50은 리터럴과 연산자로 이뤄져 있음
50 + 50도 평가되어 숫자 값 100을 생성하므로 표현식임
score;
변수 식별자를 참조하면 변수 값으로 평가되므로 표현식임
//리터럴 표현식
8
'hi'
// 식별자 표현식
sum
yh.name
arr[0]
// 연산자 표현식
sum = 8
50 + 50
//함수 호출 표현식
yh.getName()

// 선언문
var x;
//할당문
x = 5;
// 선언문
function oi () {}
//조건문
if (x > 1) { console.log(x); }
// 반복문
for (var i = 0; i < 2; i++) { console.log(i); }
;)을 붙여야 함{} 뒤에는 세미콜론을 붙이지 않음
- 세미콜론은 옵션임(생략 가능)
- 세미콜론 자동 삽입 기능(ASI)이 암묵적으로 수행 됨
- 하지만 ASI를 제대로 예측하지 못하고 코드를 작성하게 되면 원하는 결과가 나오지 않을 수 있으니 붙이는 게 좋을..듯?
// 표현식 x
var x; // 변수 선언문 (표현식 x)
var oi = var x; // SyntaxError: Unexpected token var
// 표현식 o
x = 888; // 할당문 (표현식 o)
var oi = x = 888; // 888을 할당한 x할당문을 값(888)처럼 변수에 할당
console.log(oi); // 888