JavaScriptμ λ°μ΄ν° νμ λ€μ νΉμ§κ³Ό νμ©λ²μ μμ보μ.
Primitive Types (μμ νμ )
String
λ¬Έμμ΄μ λνλ΄λ νμ μΌλ‘, ν μ€νΈ λ°μ΄ν°λ₯Ό λ€λ£¬λ€.
// λ¬Έμμ΄ μμ±
const str = "Hello";
const str2 = 'World';
const str3 = `Hello ${str2}`; // ν
νλ¦Ώ 리ν°λ΄
// μ£Όμ λ©μλ
str.length; // κΈΈμ΄
str.toUpperCase(); // λλ¬Έμ
str.toLowerCase(); // μλ¬Έμ
str.substring(0, 3); // λΆλΆ λ¬Έμμ΄
str.split(' '); // λ¬Έμμ΄ λΆν
str.trim(); // 곡백 μ κ±°
str.includes('el'); // ν¬ν¨ μ¬λΆ νμΈNumber
μ«μλ₯Ό λνλ΄λ νμ μΌλ‘, μ μμ μ€μλ₯Ό λͺ¨λ ν¬ν¨νλ€.
// μ«μ μμ±
const num = 42;
const float = 42.123;
// μ£Όμ λ©μλμ νλ‘νΌν°
Number.isInteger(num); // μ μ μ¬λΆ
Number.isFinite(num); // μ νμ μ¬λΆ
num.toFixed(2); // μμμ μλ¦Ώμ μ§μ
Number.MAX_SAFE_INTEGER; // μ΅λ μμ μ μ
Number.MIN_SAFE_INTEGER; // μ΅μ μμ μ μBoolean
true λλ false κ°μ κ°μ§λ λ Όλ¦¬ νμ μ΄λ€.
const bool = true;
const bool2 = false;
// νν λΆλ¦¬μΈ λ³ν
!!0; // false
!!1; // true
!!{}; // true
!!''; // falseNull & Undefined
κ°μ΄ μμμ λνλ΄λ νΉλ³ν νμ μ΄λ€.
let val = null; // λͺ
μμ μΌλ‘ κ°μ΄ μμ
let val2; // undefined, κ°μ΄ ν λΉλμ§ μμ
// νμΈ λ°©λ²
val === null; // true
typeof val2 === 'undefined'; // trueReference Types (μ°Έμ‘° νμ )
Array
μμκ° μλ λ°μ΄ν° 컬λ μ μ λνλΈλ€.
// λ°°μ΄ μμ±
const arr = [1, 2, 3];
const arr2 = new Array(3); // κΈΈμ΄κ° 3μΈ λΉ λ°°μ΄
// μ£Όμ λ©μλ
arr.push(4); // λμ μΆκ°
arr.pop(); // λμμ μ κ±°
arr.shift(); // μμμ μ κ±°
arr.unshift(0); // μμ μΆκ°
arr.includes(2); // ν¬ν¨ μ¬λΆ
arr.indexOf(2); // μΈλ±μ€ μ°ΎκΈ°
// λ°°μ΄ λ³ν
arr.map(x => x * 2); // κ° μμ λ³ν
arr.filter(x => x > 1); // 쑰건μ λ§λ μμλ§
arr.reduce((sum, x) => sum + x, 0); // λμ κ³μ°
arr.slice(1, 3); // λΆλΆ λ°°μ΄
arr.splice(1, 1); // μμ μμ /μΆκ°Set
μ€λ³΅μ νμ©νμ§ μλ κ°μ 컬λ μ μ΄λ€.
// Set μμ±κ³Ό μ‘°μ
const mySet = new Set([1, 2, 3]);
mySet.add(4);
mySet.delete(1);
mySet.has(2);
mySet.size;
// λ°°μ΄ λ³νμ΄ νμν μμ
[...mySet].map(x => x * 3);
Array.from(mySet);Map
ν€-κ° μμ 컬λ μ μΌλ‘, Objectμ λ¬λ¦¬ ν€κ° μ΄λ€ νμ μ΄λ λ μ μλ€.
// Map μμ±κ³Ό μ‘°μ
const myMap = new Map();
myMap.set('key', 'value');
myMap.set(42, 'number key');
myMap.get('key');
myMap.has('key');
myMap.delete('key');
myMap.size;
// μν
myMap.forEach((value, key) => console.log(key, value));
for (const [key, value] of myMap) {
console.log(key, value);
}Object
ν€-κ° μμ μ μ₯νλ κΈ°λ³Έμ μΈ μλ£κ΅¬μ‘°λ€.
// κ°μ²΄ μμ±κ³Ό μ‘°μ
const obj = {
name: 'John',
age: 30
};
// μμ± μ κ·Ό
obj.name;
obj['age'];
// μ‘΄μ¬ μ¬λΆ νμΈ
'name' in obj;
obj.hasOwnProperty('age');
// κ°μ²΄ μ‘°μ
Object.keys(obj); // ν€ λ°°μ΄
Object.values(obj); // κ° λ°°μ΄
Object.entries(obj); // ν€-κ° μ λ°°μ΄
Object.freeze(obj); // λΆλ³ κ°μ²΄λ‘ λ§λ€κΈ°νμ λ³ν
λͺ μμ λ³ν
// λ¬Έμμ΄λ‘ λ³ν
String(123); // "123"
(123).toString(); // "123"
// μ«μλ‘ λ³ν
Number("123"); // 123
parseInt("123", 10); // 123
parseFloat("123.45"); // 123.45
// λΆλ¦¬μΈμΌλ‘ λ³ν
Boolean(""); // false
Boolean(1); // trueμμμ λ³ν
"123" + 456; // "123456"
"123" - 0; // 123
!!0; // false
if ("") { /* μ€νλμ§ μμ */ }νμ λ³ νΉμ§ λΉκ΅
| νμ | νΉμ§ | μ£Όμ μ©λ |
|---|---|---|
| String | λΆλ³, μΈλ±μ€ μ κ·Ό κ°λ₯ | ν μ€νΈ μ²λ¦¬ |
| Number | 64λΉνΈ λΆλμμμ | μμΉ κ³μ° |
| Boolean | true/false | 쑰건문 |
| Array | μμ μλ 컬λ μ | λ°μ΄ν° 리μ€νΈ |
| Set | μ€λ³΅ μλ 컬λ μ | κ³ μ κ° κ΄λ¦¬ |
| Map | ν€-κ° μ(ν€ νμ μμ ) | 볡μ‘ν λ§€ν |
| Object | ν€-κ° μ(λ¬Έμμ΄ ν€) | ꡬ쑰νλ λ°μ΄ν° |