μλ°μ€ν¬λ¦½νΈ μΈμ΄
- μλ°μ€ν¬λ¦½νΈλ λμ νμ΄ν νΉμ§μ κ°μ§κ³ μκ³ λμ νμ μΈμ΄λΌ νλ€.
- λμ νμ μΈμ΄λ λ³μμ νμ μ μ μΈμ΄ μλ ν λΉμμ κ²°μ (νμ μΆλ‘ ) μ΄ λκ³ μ¬ν λΉμ μν΄ λ³μμ νμ μ μΈμ λ μ§ λμ μΌλ‘ λ³ν μ μλ€.
λ°μ΄ν° νμ μ μ’ λ₯
- μλ°μ€ν¬λ¦½νΈλ μ΄ 7κ°μ λ°μ΄ν° νμ
μ μ 곡νκ³ κ·Έμ€ μμ νμ
(primitive type)κ³Ό κ°μ²΄ νμ
(object/reference type)μΌλ‘ λΆλ₯λλ€.
- μμ νμ : number(μ«μ), string(λ¬Έμμ΄), boolean(μ°Έ, κ±°μ§), undefined(μλ£ν λ―Έμ€μ ), null(κ°μ΄ μμ), Symbol(ES6μμ μΆκ°λ νμ )
- κ°μ²΄ νμ : κ°μ²΄{ }, λ°°μ΄[ ], ν¨μ λ±..
Number (μ«μ)
- λ€λ₯Έ μΈμ΄λ μ μμ μ€μλ₯Ό ꡬλΆν΄ int, long, float, double λ± λ€μνμ§λ§ μλ°μ€ν¬λ¦½νΈλ λ¨ ν κ°μ νμ μ΄λ€.
- μ«μ νμ μ κ°μ μ μ, μ€μ, 2μ§μ, 8μ§μ, 16μ§μ 리ν°λ΄μ λͺ¨λ λ©λͺ¨λ¦¬μ λ°°μ λ°λ 64λΉνΈ λΆλμμμ νμμ 2μ§μλ‘ μ μ₯λλ€.
- 2μ§μ, 8μ§μ, 16μ§μλ₯Ό μν λ°μ΄ν° νμ μ΄ μκΈ°μ μ΄λ€ κ°μ μ°Έμ‘°νλ©΄ λͺ¨λ 10μ§μλ‘ ν΄μλλ€.
- μλ°μ€ν¬λ¦½νΈμ μ«μ νμ μ λͺ¨λ μλ₯Ό μ€μλ‘ μ²λ¦¬.
- λ°°μ λ°λ λΆλμμμ : 64λΉνΈλ‘ ꡬμ±λκ³ λͺ¨λ κ°μ μ€μμ΄λ©° μμμ μ΄ κ³ μ λμ΄ μμ§ μλ€. (μμΈν μ€λͺ )
- μ«μ νμ μ νΉλ³ν κ°
- Infinity: μμ 무νλ
- -Infinity: μμ 무νλ
- NaN: μ°μ μ°μ° λΆκ°(not-a-number)
- μλ°μ€ν¬λ¦½νΈλ λμλ¬Έμλ₯Ό ꡬλ³νλ€. NaNμ nan, Nan μΌλ‘ νκΈ°νλ©΄ ν리λ―λ‘ μ£Όμ.
String (λ¬Έμμ΄)
- λ¬Έμμ΄μ 0κ° μ΄μμ 16λΉνΈ μ λμ½λ λ¬Έμ(UTF-16)μ μ§ν©μΌλ‘ μ μΈκ³ λλΆλΆμ λ¬Έμλ₯Ό ννν μ μλ€.
- (' ') μμλ°μ΄ν, ν°λ°μ΄ν(" "), (` `) λ°± ν±μΌλ‘ ν μ€νΈλ₯Ό κ°μΈμ μ΄μ©νλ€. μ£Όλ‘ μμλ°μ΄νλ₯Ό μ΄μ©.
- λ°μ΄νλ λ°± ν±μΌλ‘ κ°μΈμ§ μμΌλ©΄ λ¬Έμμ΄μ ν€μλ, μλ³μ κ°μ ν ν°μΌλ‘ μΈμνλ€.
- λ¬Έμμ΄μ λ³κ²½ λΆκ°λ₯ν κ°(immutable value)μ΄λ€.
template literal (ν νλ¦Ώ 리ν°λ΄)
- ES6μ λμ λ λ¬Έμμ΄ νκΈ°λ²μΌλ‘ λ©ν°λΌμΈ λ¬Έμμ΄, ννμ μ½μ , νκ·Έλ ν νλ¦Ώ λ± νΈλ¦¬ν λ¬Έμμ΄ μ²λ¦¬ κΈ°λ₯μ μ 곡νλ€.
- λ°νμμ μΌλ° λ¬Έμμ΄λ‘ λ³νλμ΄ μ²λ¦¬νλ€.
- λ°μ΄νκ° μλ λ°± ν±(` `)μ μ¬μ©ν΄ νννλ€.
- λ©ν°λΌμΈ λ¬Έμμ΄
- μΌλ° λ¬Έμμ΄κ³Ό λ¬λ¦¬ λμ΄μ°κΈ°κ° κ°λ₯νλ€.
const str = 'hello world'; // Invalid or unexpected token
const str1 = `hello world`;
μΌλ° λ¬Έμμ΄ κ³΅λ°±μ νννλ €λ©΄ λ°± μ¬λμ(\)λ‘ μμνλ μ΄μ€μΌμ΄ν μνμ€λ₯Ό μ¬μ©ν΄μΌ νλ€.
- ννμ μ½μ
//ES5 λ¬Έμμ΄ μ°μ°
let first = "hello";
let second = "world";
console.log("every" + " " + first + " " + second); // 'every hello world'
//ννμ μ½μ
let first = "hello";
let second = "world";
console.log(`every ${first} ${second}`); // 'every hello world'
- ννμ μ½μ μ ν΅ν΄ κ°λ μ± μ’κ³ κ°νΈνκ² λ¬Έμμ΄μ μ‘°ν©ν μ μλ€.
- ${ }μΌλ‘ κ°μΌ νκ°κ²°κ³Όκ° λ¬Έμμ΄μ΄ μλμ΄λ λ¬Έμμ΄λ‘ νμ μ΄ λ³νλλ€.
boolean (λΆλ¦¬μΈ)
- λΆλ¦¬μΈ νμ μ trueμ falseλ‘ μ΄λ£¨μ΄μ Έ μλ€.
- λ³΄ν΅ μ‘°κ±΄λ¬Έμμ λ§μ΄ μ¬μ©νλ€.
if (true) {
console.log("hello world");
}
// 'hello world'
if (false) {
console.log("hello world");
}
// λ―Έμ€ν
Undefined (μ μλμ§ μμ)
- var, let ν€μλλ₯Ό μ μΈνκ³ κ°μ ν λΉνμ§ μμΌλ©΄ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μλμΌλ‘ λ³μλ₯Ό μ΄κΈ°ννκΈ° μν΄ undefinedλ₯Ό ν λΉνλ€.(λ©λͺ¨λ¦¬μ λ€μ΄μλ μ°λ κΈ° κ°μ μ 리)
- μ¦, undefinedλ κ°λ°μκ° μλμ μΌλ‘ ν λΉνκΈ° μν κ°μ΄ μλκ³ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ λ³μλ₯Ό μ΄κΈ°νν λ μ¬μ©νλ κ°μ΄λ€.
- κ°λ°μκ° undefinedλ₯Ό ν λΉν μ μμ§λ§ μ΄κ±΄ λ³Έλμ μ·¨μ§μ μ΄κΈλκ³ νΌλμ μ€ μ μμΌλ―λ‘ κΆμ₯νμ§ μλλ€.
- λ³μμ κ°μ΄ μμμ κ°λ°μκ° λͺ μνκ³ μΆλ€λ©΄ nullμ μ΄μ©νλλ‘ νμ.
null ( μλμ λΆμ¬ )
- nullμ κ°μ΄ μλ€λ κ²μ μλμ μΌλ‘ λͺ μν λ μ¬μ©νλ€.
- λ³μμ nullμ ν λΉνλ κ²μ λ³μκ° μ΄μ μ μ°Έμ‘°νλ κ°μ λ μ΄μ μ°Έμ‘°νμ§ μκ² λ€λ μλ―Έμ΄κ³ μ΄μ μ ν λΉλμ΄ μλ κ°μ λν μ°Έμ‘°λ₯Ό μ κ±°νλ κ²μ μλ―Ένλ€.
let test = 'hello';
test = null;
console.log(test) // null
Symbol (μ¬λ²)
- ES6μμ μΆκ°λ νμ , κ°μ λ³κ²½μ΄ λΆκ°λ₯νλ€.
- λ€λ₯Έ κ°κ³Ό μ€λ³΅λμ§ μμΌλ©° μ μΌλ¬΄μ΄νμ¬ λ€λ₯Έ κ°κ³Ό μΆ©λν μΌμ΄ μλ€.
- κ°μ μΈλΆμ λ ΈμΆλμ§ μλλ€.
κ°μ²΄ νμ (λ°°μ΄, κ°μ²΄, ν¨μ λ±)
- κ°μ²΄μ λν΄μλ μΆν μμ νμ κ³Όμ λΉκ΅μμ μ΄ν΄λ³Ό μμ (λ§ν¬ μΆκ° μμ )
- μλ°μ€ν¬λ¦½νΈλ κ°μ²΄ κΈ°λ°μ μΈμ΄μ΄κ³ μμ μ΄ν΄λ³Έ 6κ°μ§μ μΈμ΄ μ΄μΈμλ μ λΆ κ°μ²΄ νμ μ΄λ€.
λ°μ΄ν° νμ μ νμμ±
- κ°μ λ©λͺ¨λ¦¬μ μ μ₯νκ³ μ°Έμ‘°ν μ μμ΄μΌ νλ€. μ΄λ λ©λͺ¨λ¦¬μ κ°μ μ μ₯νλ €λ©΄ ν보ν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό κ²°μ ν΄μΌ νλλ° μΌλ§νΌμ 곡κ°μ μ¬μ©ν΄μΌ λλΉμ μμ€ μμ΄ κ°μ μ μ₯ν μ μλμ§ μμμΌ νλ€.
- μλ°μ€ν¬λ¦½νΈ μμ§μ λ°μ΄ν° νμ μ λ°λΌ λ©λͺ¨λ¦¬ 곡κ°μ ν보νλ€. μ¦, λ³μμ ν λΉλλ κ°μ λ°μ΄ν° νμ μ λ°λΌ ν보ν΄μΌ ν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°κ° κ²°μ λλ€.
- λ©λͺ¨λ¦¬μμ μ½μ΄ λ€μΈ 2μ§μλ‘ μ μ₯λμ΄ μλ κ°μ λ°μ΄ν° νμ
μ λ°λΌ λ€λ₯΄κ² ν΄μλλ€. 0100 0001 μ μ«μ νμ
μΌλ‘ 65μ§λ§ λ¬Έμμ΄λ‘ ν΄μνλ©΄ 'A' λ€.
- κ°μ μ μ₯ν λ ν보ν΄μΌ νλ λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό κ²°μ νκΈ° μν΄
- κ°μ μ°Έμ‘°ν λ ν λ²μ μ½μ΄ λ€μ¬μΌ ν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό κ²°μ νκΈ° μν΄
- λ©λͺ¨λ¦¬ μμ μ½μ΄ λ€μΈ 2μ§μλ₯Ό μ΄λ»κ² ν΄μν μ§ κ²°μ νκΈ° μν΄
- μ μΈ κ°μ§ μ΄μ λ‘ λ°μ΄ν° νμ μ΄ νμν μ΄μ λ₯Ό μ€λͺ ν μ μλ€.
'Deep Dive μ 볡기π©' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Deep Dive κΈ°λ‘ μ€μ§ (0) | 2022.10.20 |
---|---|
Deep Dive - 7 (μ°μ°μ) (0) | 2022.09.21 |
Deep Dive -5 (2) | 2022.08.24 |
Deep Dive -4 (μλ³μ) (0) | 2022.08.23 |
Deep Dive -3 (var) (0) | 2022.08.22 |