π‘ 1. λ°μ΄ν° νμ (Data Type)
- λ°μ΄ν° νμ μ΄λ νλ‘κ·Έλλ° μΈμ΄μμ μ¬μ©ν μ μλ λ°μ΄ν°μ μ’ λ₯λ₯Ό λ§ν©λλ€. λ°μ΄ν° νμ μ΄ μλ μ΄μ λ λ°μ΄ν°(λ³μ)κ° λ©λͺ¨λ¦¬μ μ μ₯μ΄ λ λ λ©λͺ¨λ¦¬ 곡κ°μ μΌλ§νΌ ν보λ₯Ό ν΄μΌ νλ μ§λ₯Ό νλ¨νκΈ° μν΄μμ λλ€. κ·Έλ¬νμ¬ νμ λ λ©λͺ¨λ¦¬ 곡κ°μ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μκ² λ©λλ€. μ½κ² μμλ₯Ό λ€λ©΄ νλ°° μ°½κ³ μ νλ°°λ€μ΄ λ€μ΄μ€λλ°, μ°½κ³ μ 곡κ°μ νμ λμ΄ μκΈ° λλ¬Έμ λ§μ νλ°°λ₯Ό λ£κΈ° μν΄μλ ν¨μ¨μ μΌλ‘ νλ°°λ₯Ό μμμΌ ν©λλ€. κ·Έλ¦¬κ³ λμ€μ μ°ΎκΈ°λ μ¬μμΌ ν©λλ€. κ·Έλμ λμ΄λΌλ μμ£Ό ν° μλμ₯μ λ§λ€μ΄μ ν¬κΈ°λ³, μ’ λ₯λ³, μ§μλ³ λ±μΌλ‘ λλλλ€. μ λ° μμΌλ‘ 차곑차곑 μμΌλ©΄ λ§μ μμ νλ°°λ₯Ό 보κ΄ν μ μκ³ , μ°ΎκΈ°λ μ½κ² λκ² μ£ . κ²°κ΅ λ°μ΄ν°λ₯Ό λ§μ΄ μ 보κ΄νκΈ° μν΄μ λ°μ΄ν° νμ μ μ¬μ©ν©λλ€.
μλ°μ€ν¬λ¦½νΈμμ λ°μ΄ν° νμ μ ν¬κ² 2κ°μ§ νμ μΌλ‘ λλλλ° μμ νμ (primitive type)κ³Ό κ°μ²΄ νμ (object type)μΌλ‘ κ΅¬λΆ μ§μ΄μ§λλ€.
π‘ 1.1 μμ νμ
- μμ νμ μ λ§ κ·Έλλ‘ μμμ μΈ νμ μ λ§νλλ°, μμ νμ μ κ°μ λ³κ²½ λΆκ°λ₯(immutable)ν©λλ€.
μ²μμ appleμ΄λΌλ λ³μμ 'μ¬κ³Ό'λΌλ κ°μ μ μ₯μ νμ΅λλ€. κ·Έλ λ©λͺ¨λ¦¬μ 'μ¬κ³Ό'κ° μ μ₯μ΄ λκ³ appleμ κ°μ μ¬κ³Όκ° λ©λλ€. κ·Έ νμ appleμ '볡μμ'λΌλ κ°μ λ£κ² λλ©΄, λ©λͺ¨λ¦¬μ μλ 'μ¬κ³Ό'κ° '볡μμ'λ‘ λ³νλ κ²μ΄ μλκ³ μλ‘κ² μ μ₯μ΄ λ©λλ€. κ·Έλ¦¬κ³ appleμ 볡μμλ₯Ό κ°λ¦¬ν€κ² λ©λλ€. μ¦, μμ νμ μ κ°μ λ³κ²½μ΄ λΆκ°λ₯νκ³ , κ°μ μ§μ μ μΌλ‘ κ°λ¦¬ν€κ² λ©λλ€. (κ°μ μ§μ μ μΌλ‘ κ°λ¦¬ν¨λ€λ λ§μ λ€μμ₯μμ κ°μ²΄ νμ μ€λͺ νλ©΄μ λ€μ μ€λͺ ν κ²μ~ π)
- μμ νμ μ μ’ λ₯μλ μ«μ νμ (number), λ¬Έμμ΄ νμ (string), null, boolean, undefined, symbolμ΄ μμ΅λλ€.
π£ 1.1-1 μ«μ νμ (number)
- κΈ°μ‘΄ νλ‘κ·Έλλ° μΈμ΄λ€μ μ«μ νμ μ int, long, float, double λ±μΌλ‘ μΈλΆμ μΌλ‘ νκΈ°νμ§λ§, μλ°μ€ν¬λ¦½νΈμμλ numberνμ μΌλ‘ ννν©λλ€.
let int = 10; // μ μ
let float = 3.14; // μ€μ
let negative = -17; // μμ μ μ
let binary = 0b01000001; // 2μ§μ
let octal = 0o101; // 8μ§μ
let hex = 0x41; // 16μ§μ
- μ μμλ₯Ό 보면 2μ§μ, 8μ§μ, 16μ§μλ₯Ό μ μ₯ν λ³μκ° μλλ° μλ°μ€ν¬λ¦½νΈμμ 10μ§μλ§ μ΄μ©μ νκ³ μμ΄μ λ€λ₯Έ μ§μλ€μ κ°μ 10μ§μλ‘ λ³ννμ¬ μ μ₯νκ² λ©λλ€.
console.log(`2μ§μ : ${binary}`); // 65
console.log(`8μ§μ : ${octal}`); // 65
console.log(`16μ§μ : ${hex}`); // 65
- numberμμ νΉλ³ν 3κ°μ§ κ°μ΄ μμ΅λλ€.
let a = 1 / 0;
console.log(a); // Infinity - μμ 무νλ
let b = 1 / -0;
console.log(b); // -Infinity - μμ 무νλ
let c = 1 * 'λ¬Έμ';
console.log(c); // NaN - not a number
π£ 1.1-2 λ¬Έμ νμ (string)
- ν μ€νΈ λ°μ΄ν°λ₯Ό λνλΌ λ μ¬μ©νκ³ , μμλ°μ΄ν '' λλ ν° λ°μ΄ν "" μμ ν μ€νΈλ₯Ό λ£μ΄μ μμ±ν©λλ€. μΌλ°μ μΌλ‘λ μμλ°μ΄νλ₯Ό μ¬μ©ν©λλ€. (λ¬Έμμ΄ νμλ νμ¬λ§λ€ μ°¨μ΄κ° μλ κ±° κ°μμ.)
let str1 = 'λ¬Έμμ΄ μ
λλ€.'; // μμ λ°μ΄ν
console.log(typeof(str1)); //string
let str2 = "λ¬Έμμ΄2 μ
λλ€."; // ν° λ°μ΄ν
console.log(typeof(str2)); //string
let str3 = `λ¬Έμμ΄3 μ
λλ€.`; // λ°±ν±
console.log(typeof(str3)); //string
π£ 1.1-3 boolean
- boolean νμ μ΄ κ°μ true(μ°Έ), false(κ±°μ§) λΏμ λλ€.
let a = true;
let b = false;
let c = 10 > 2; // true;
let d = 1 == 2; // false;
console.log(typeof(a)); // boolean
console.log(typeof(b)); // boolean
console.log(typeof(c)); // boolean
console.log(typeof(d)); // boolean
- μ μ΄λ¬Έμμ null, undefined, 0 μ falseλ‘ κ°μ£Όν©λλ€.
let bool = '';
if(bool){
console.log(1);
}
let bool2; //undefined
if(bool2){
console.log(1);
}
let bool3 = 0;
if(bool3){
console.log(1);
}
// μ무κ²λ μΆλ ₯λμ§ μμ
π£ 1.1-4 undefined
- undefined νμ μ κ°μ undefined νλμ λλ€. λ³μλ₯Ό μ μΈνκ³ κ°μ ν λΉμ ν΄μ£Όμ§ μμΌλ©΄, undefinedλΌλ κ°μ΄ ν λΉμ΄ λ©λλ€.
let un;
console.log(un) // undefined
- λ§μ½ κ°λ°μκ° μ΄λ ν λ³μμ 'κ°μ΄ μλ€' νΉμ 'λΉμ΄μλ€'λΌκ³ ννμ νκ³ μΆμΌλ©΄ undefinedλ₯Ό ν λΉνλ κ²μ΄ μλ null κ°μ ν λΉν΄μ£Όλ©΄ λ©λλ€. κ·Έ μ΄μ λ undefinedλ μλ°μ€ν¬λ¦½νΈ μμ§μμ μλμ μΌλ‘ ν λΉμ νλ κ²μ΄κ³ , μ΄λ₯Ό κ°λ°μκ° μμλ‘ undefinedλ₯Ό ν λΉνκ² λλ€λ©΄ κ°λ°νλ λΆλΆμμ νΌλμ μ΄λν μ μμ΅λλ€.
π£ 1.1-5 null
- null νμ μ κ°μ nullλ‘ μ μΌν©λλ€. μλ°μ€ν¬λ¦½νΈμμλ λμλ¬Έμλ₯Ό ꡬλ³νλ―λ‘ nullμ Null, NULL λ±κ³Ό λ€λ₯΄λ€λ κ²μ μ μν΄μΌ ν©λλ€.
let n = 'data';
n = null;
console.log(n) // null
- nullμ κ°λ°μκ° λ³μμ μμλ‘ κ°μ΄ μλ€λ κ²μ νμνκΈ° μν΄ μ¬μ©νλ νμ μ λλ€. κ²°κ΅ λ³μμ null κ°μ ν λΉνλ€λ κ²μ λ³μκ° μ무 κ°λ μ°Έμ‘°νκ³ μλ€λ λ»μ΄ λκ³ , λ§μ½ μ΄λ ν λ³μλ κ·Έ κ°μ μ°Έμ‘°νκ³ μμ§ μλ€λ©΄ κ°λΉμ§ 컬λ μ μ΄λΌλ μ²μλΆκ° λ©λͺ¨λ¦¬μμ κ·Έ κ°μ μ κ±°ν©λλ€.
- ν¨μλ₯Ό μ€νν΄μ μ ν¨ν κ°μ΄ μλ κ²½μ° null κ°μ λ°νν©λλ€.
let element = document.getElementById('element');
// document.getElementByIdλ htmlμμ idλ₯Ό κΈ°μ€μΌλ‘ μμλ₯Ό μ°Ύμμ λ°νν΄μ£Όλ ν¨μ
// μμκ° μλ€λ©΄ nullμ λ°ν
console.log(element); // null
- null κ°μ ν΅ν΄μ μλ°μ€ν¬λ¦½νΈμ μ€λ₯λ₯Ό μ°Ύμ μ μλλ°, typeof ν¨μμ nullμ λ£μΌλ©΄ nullμ΄ μλ objectκ° λμ΅λλ€. κ·Έλμ null νμ μΈ κ²μ νμΈνκ³ μΆμΌλ©΄ ===(μΌμΉ μ°μ°μ)λ₯Ό μ΄μ©ν΄μ νμΈν΄μΌ ν©λλ€.
console.log(typeof(null)) // object
let a = null;
console.log(null === a); // true
π£ 1.1-6 symbol
- symbolμ ES6μ μλ‘ μΆκ°λ μμ νμ
μ
λλ€. μ¬λ³Όμ μ μΌν μλ³μλ₯Ό λ§λ€κ³ μΆμ λ μ¬μ©ν©λλ€. λ€λ₯Έ λ§λ‘λ κ°μ²΄μ νλ‘νΌν° ν€λ₯Ό κ³ μ νκ² μ€μ μ νκ³ μΆμ λ μ¬μ©ν©λλ€.
symbol νμ
μ Symbolν¨μλ₯Ό ν΅ν΄μ μμ±ν©λλ€.
- Symbol ν¨μμ μ λ¬ μΈμκ° κ°λλΌλ μμ±λλ κ°μ κ°μ κ°μ΄ μλλλ€. (μλ‘μ΄ symbolμ΄ μμ±λκΈ° λλ¬Έμ)
let sym1 = Symbol();
let sym2 = Symbol('apple');
let sym3 = Symbol('banana');
let sym4 = Symbol('banana');
console.log(sym1) // Symbol()
console.log(sym2) // Symbol(apple)
console.log(sym3) // Symbol(banana)
console.log(sym4) // Symbol(banana)
console.log(sym3 === sym4) // false
- symbol νμ μ μ°λ μ΄μ λ κ°μ²΄μ νλ‘νΌν° ν€λ‘ μ¬μ©νκΈ° μν΄μμ λλ€.
let obj = {
a : 'banana',
c : 'cherry'
};
let b = Symbol('apple');
obj[b] = 'apple2';
console.log(obj); // {a: 'banana', c: 'cherry', Symbol(apple): 'apple2'}
console.log(obj[b]) // 'apple2'
π μ 리
- μλ°μ€ν¬λ¦½νΈμμ λ°μ΄ν° νμ μ μμ νμ κ³Ό κ°μ²΄ νμ μΌλ‘ ꡬλΆλλ€.
- μμ νμ μλ number, string, boolean, null, undefined, symbol κ° μλ€.
- numberμ λͺ¨λ μ«μ (μ μ, μ€μ, μμ μ μ, 2μ§μ λ±)λ₯Ό ννν λ μ¬μ©λλ€.
- stringμ λͺ¨λ ν μ€νΈ λ°μ΄ν°λ₯Ό ννν λ μ¬μ©λλ€.
- booleanμ μ°Έ, κ±°μ§μ ννν λ μ¬μ©λλ€.
- nullμ λ³μμ κ°μ΄ μμμ ννν λ μ¬μ©λλ€.
- undefinedλ λ³μκ° μ μΈμ λμμ§λ§, κ°μ΄ ν λΉμ΄ μλμμ ννν λ μ¬μ©λλ€.
- symbolμ κ³ μ μ ν€λ₯Ό νννκ³ μΆμ λ μ¬μ©λλ€.
κΈ΄ κΈ μ½μ΄μ£Όμ
μ κ°μ¬ν©λλ€ :)
νλ¦° λ΄μ©μ΄ μκ±°λ, λ§λΆμΌ λ΄μ©μ΄ μλ€λ©΄ μΈμ λ μ§ λκΈ λ¬μμ£ΌμΈμ!
μ κΈμ΄ μ‘°κΈμ΄λλ§ μ½μΌμ λΆλ€μκ² λμμ΄ λλλ‘ λ
Έλ ₯νκ² μ΅λλ€
λ€μ νΈμ 봬μ~
'Front-End > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] 05. μ°μ°μ (0) | 2022.01.24 |
---|---|
[JavaScript] 04. λ°μ΄ν° νμ _κ°μ²΄νμ (2) | 2022.01.21 |
[JavaScript_error] 01. HTMLCollectionλ forEach, filter λ±μ μ¬μ© λΆκ°. (2) | 2022.01.08 |
[JavaScript] 02. μλ°μ€ν¬λ¦½νΈ κΈ°λ³Έ λ¬Έλ² (0) | 2021.12.22 |
[JavaScript] 01. μλ°μ€ν¬λ¦½νΈ (3) | 2021.12.02 |