const str = "Hello World!";
console.log(str.length); // 12
const str = "Hello World!";
console.log(str.includes("Hello")); // true
console.log(str.includes("Hello!")); // false
console.log(str.includes("hello")); // false
console.log(str.includes("Hello", 1)); // false
if (!str.includes("lim")) {
console.log("찾으시는 문자가 없습니다."); // 찾으시는 문자가 없습니다.
}
const str = "Hello World!";
console.log(str.indexOf("Hello")); // 0
console.log(str.indexOf("World")); // 6
console.log(str.indexOf("lim")); // -1
if (str.indexOf("lim") === -1) {
console.log("찾으시는 문자가 없습니다."); // 찾으시는 문자가 없습니다.
}
const str = "1234567";
console.log(str.padEnd(10, "0")); // 1234567000
console.log(str) // 1234567
const str = "12345";
console.log(str.padStart(10, "!")); // !!!!!12345
console.log(str); // 12345
const str = "Hello, Hello?!";
console.log(str.replace("Hello", "Hi")); // Hi, Hello?!
console.log(str.replace(/Hello/g, "Hi")); // Hi, Hi?!
console.log(str); // Hello, Hello?!
const str = "Hello World!";
console.log(str.slice(0, 5)); // Hello
console.log(str.slice(6, -1)); // World
console.log(str.slice(6)); // World!
console.log(str); // Hello World!
const str = "Apple, Banana, Cherry";
console.log(str.split(", ")); // [Apple, Banana, Cherry]
console.log(str.split(",")); // ['Apple', ' Banana', ' Cherry']
console.log(str.split("")); // ['A', 'p', 'p', 'l', 'e', ',', ' ', 'B', 'a', 'n', 'a', 'n', 'a', ',', ' ', 'C', 'h', 'e', 'r', 'r', 'y']
const str = "Apple, Banana, Cherry";
console.log(str.toLowerCase()); // apple, banana, cherry
const str = "Apple, Banana, Cherry";
console.log(str.toUpperCase()); // APPLE, BANANA, CHERRY
const str = " This is String !!! ";
console.log(str.trim()); // This is String !!!
console.log(str); // This is String !!!
const num = 3.14159226535;
console.log(num.toFixed(2)); // 3.14 (string)
console.log(parseFloat(num.toFixed(2))); // 3.14 (number)
const num = 1000000;
console.log(num.toLocaleString()); // 1,000,000
console.log(`${num.toLocaleString()}원`); // 1,000,000원
const num = 1000000;
const pi = 3.14;
console.log(Number.isInteger(num)); // true
console.log(Number.isInteger(pi)); // false
NaN
인지 확인합니다.const num1 = NaN;
const num2 = 123;
const str = "Hello world";
const nul = null;
console.log(Number.isNaN(num1));
console.log(Number.isNaN(num2));
console.log(Number.isNaN(str));
console.log(Number.isNaN(nul));
const str = "3.1415926535";
const num = 3.1415926535;
console.log(Number.parseInt(str, 10)); // 3
console.log(Number.parseInt(num, 10)); // 3
console.log(parseInt(str, 10)); // 3
console.log(parseInt(num, 10)); // 3
const str = "3.1415926535";
const num = 3.1415926535;
console.log(Number.parseFloat(str)); // 3.1415926535
console.log(Number.parseFloat(num)); // 3.1415926535
console.log(parseFloat(str)); // 3.1415926535
console.log(parseFloat(num)); // 3.1415926535
Math
는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체입니다. 함수 객체가 아닙니다.
console.log(Math.abs(2)); // 2
console.log(Math.abs(-2)); // 2
console.log(Math.ceil(3.1415926535)) // 4
console.log(Math.floor(3.1415926535)); // 3
console.log(Math.max(1, 22, 38, 192)); // 192
console.log(Math.min(1, 22, 38, 192)); // 1
console.log(Math.pow(4, 2)); // 16
console.log(Math.pow(7, 2)); // 49
console.log(Math.pow(10, 3)); // 1000
console.log(Math.random());
// 특정 범위의 랜덤 정수를 얻는 함수
function random(min = 0, max = 10) {
return Math.floor(Math.random() * (max - min)) + min;
}
console.log(random());
console.log(random(11, 20));
console.log(random(101, 999));
const num1 = 3.141
const num2 = 3.768
console.log(Math.round(num1)) // 3
console.log(Math.round(num2)) // 4
const date = new Date();
console.log(date); // Thu Nov 30 2023 17:32:17 GMT+0900 (한국 표준시)
const d1 = new Date(2023, 10, 30, 12, 57, 30); // 년, 월(zero-based numbering), 일, 시, 분, 초
console.log(d1); // Thu Nov 30 2023 12:57:30 GMT+0900 (한국 표준시)
const d2 = new Date("Thu Nov 30 2023 12:57:30 GMT+0900 (한국 표준시)");
console.log(d2); // Thu Nov 30 2023 12:57:30 GMT+0900 (한국 표준시)
console.log(d2.getFullYear()); // 2023
const date = new Date();
console.log(date.getFullYear()); // 2023
date.setFullYear(2024);
console.log(date.getFullYear()); // 2024
const date = new Date();
console.log(date.getMonth()); // 10
date.setMonth(11);
console.log(date.getMonth()); // 11
const date = new Date();
console.log(date.getDate()); // 30
date.setDate(1);
console.log(date.getDate()); // 1
const date = new Date();
console.log(date.getHours()); // 17
date.setHours(1);
console.log(date.getHours()); // 1
const date = new Date();
console.log(date.getMinutes()); // 47
date.setMinutes(1);
console.log(date.getMinutes()); // 1
const date = new Date();
console.log(date.getSeconds()); // 40
date.setSeconds(1);
console.log(date.getSeconds()); // 1
const date = new Date();
const day = date.getDay();
console.log(day); // 4
console.log(getDayKo(day)); // 목요일
function getDayKo(day) {
switch (day) {
case 0:
return "일요일";
case 1:
return "월요일";
case 2:
return "화요일";
case 3:
return "수요일";
case 4:
return "목요일";
case 5:
return "금요일";
case 6:
return "토요일";
}
}
1970-01-01 00:00:00
(유닉스 타임) 부터 경과한 날짜 인스턴스의 '밀리초(ms)'로 반환하거나 지정합니다.const date = new Date();
console.log(date.getTime()); // 1701334451091
console.log(date); // Thu Nov 30 2023 17:54:11 GMT+0900 (한국 표준시)
date.setTime(170000000000);
console.log(date.getTime()); // 170000000000
console.log(date); // Thu May 22 1975 23:13:20 GMT+0900 (한국 표준시)
1970-01-01 00:00:00
(유닉스 타임) 부터 경과한 메소드가 호출될 때의 '밀리초(ms)'로 반환합니다.const time = new Date().getTime();
console.log(Date.now()); // 1701335084319
console.log(time); // 1701335084319
setTimeout(() => {
console.log(Date.now()); // 1701335085325
console.log(time); // 1701335084319
}, 1000);
const arr = ["A", "B", "C"];
console.log(arr.length); // 3
const arr = ["A", "B", "C"];
console.log(arr[0]); // A
console.log(arr.at(0)); // A
console.log(arr[arr.length - 1]); // C
console.log(arr.at(-1)); // C
const arr1 = ["A", "B", "C"];
const arr2 = ["D", "E", "F"];
const arr3 = arr1.concat(arr2);
// const arr3 = [...arr1, ...arr2]; 도 같은 배열입니다.
console.log(arr1); // ["A", "B", "C"]
console.log(arr2); // ["D", "E", "F"]
console.log(arr3); // ["A", "B", "C", "D", "E", "F"]
const arr = [1, 2, 3, 4];
const isValid = arr.every((item) => item < 5);
console.log(isValid); // true
const numbers = [1, 20, 7, 9, 104, 0, 58];
const filteredNumbers = numbers.filter((number) => number < 20);
console.log(filteredNumbers); // [1, 7, 9 ,0]
const users = [
{ name: "Neo", age: 20 },
{ name: "Amy", age: 10 },
{ name: "Lewis", age: 40 },
];
const adults = users.filter((user) => user.age >= 19);
console.log(adults); // [{ name: "Neo", age: 20 }, { name: "Lewis", age: 40 }]
const arr = [5, 8, 130, 12, 44];
const foundItem = arr.find((item) => item > 10);
console.log(foundItem); // 130
const users = [
{ name: "Neo", age: 20 },
{ name: "Amy", age: 10 },
{ name: "Lewis", age: 40 },
];
const foundUser = users.find((user) => user.name === "Amy");
console.log(foundUser); // { name: "Amy", age: 10 }
const arr = [5, 8, 130, 12, 44];
const index = arr.findIndex((item) => item > 10);
console.log(index); // 2
1
입니다.const arr = [1, 2, [3, 4, [5, 6, [7, 8]]]];
console.log(arr.flat()); // [1, 2, 3, 4, [5, 6, [7, 8]]]
console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6, [7, 8]]
console.log(arr.flat(3)); // [1, 2, 3, 4, 5, 6, 7, 8]
console.log(arr.flat(Infinity)); // [1, 2, 3, 4, 5, 6, 7, 8]
const arr = ["A", "B", "C"];
arr.forEach((item) => console.log(item)); // A B C
for (let i = 0; i < arr.length; i += 1) {
if (i < 1) {
break;
}
console.log(arr[i]); // A B
}
const arr = [1, 2, 3];
console.log(arr.includes(2)); // true
console.log(arr.includes(7)); // false
const fruits = ["Apple", "Banana", "Cherry"];
console.log(fruits.includes("Apple")); // true
console.log(fruits.includes("cherry")); // false
const users = [
{ name: "Neo", age: 20 },
{ name: "Amy", age: 30 },
{ name: "Lewis", age: 40 },
];
console.log(users.includes({ name: "Neo", age: 20 })); // false
const neo = users[0];
console.log(users.includes(neo)); // true
const arr = ["Apple", "Banana", "Cherry"];
console.log(arr.join()); // Apple,Banana,Cherry
console.log(arr.join(",")); // Apple,Banana,Cherry
console.log(arr.join(", ")); // Apple, Banana, Cherry
console.log(arr.join("/")); // Apple/Banana/Cherry
const numbers = [1, 2, 3, 4];
const newNumbers = numbers.map((item) => item * 2);
console.log(newNumbers); // [2, 4, 6, 8]
console.log(numbers); // [1, 2, 3, 4]
const users = [
{ name: "Neo", age: 20 },
{ name: "Amy", age: 30 },
{ name: "Lewis", age: 40 },
];
const newUsers = users.map((user) => {
return {
...user,
isValid: true,
email: null,
};
});
console.log(newUsers);
const fruits = ["Apple", "Banana", "Cherry"];
console.log(fruits.pop()); // Cherry
console.log(fruits); // ["Apple", "Banana"]
const fruits = ["Apple", "Banana", "Cherry"];
const newLength = fruits.push("Orange");
console.log(newLength); // 4
console.log(fruits); // ["Apple", "Banana", "Cherry", "Orange"]
fruits.push("Mango", "Strawberry");
console.log(fruits); // ["Apple", "Banana", "Cherry", "Orange", "Mango", "Strawberry"]
const numbers = [1, 2, 3];
const sum = numbers.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // 6
const numbers = [1, 2, 3];
const sum = numbers.reduce((acc, cur) => acc + cur, 0);
console.log(sum); // 6
const users = [
{ name: "Neo", age: 22 },
{ name: "Amy", age: 31 },
{ name: "Lewis", age: 48 },
];
// 총 나이 계산
const totalAge = users.reduce((acc, cur) => acc + cur.age, 0);
console.log(totalAge); // 101
console.log(`평균 나이: ${(totalAge / users.length).toFixed(1)}세`); // 평균 나이: 33.7세
// 모든 이름 추출 (메소드 체이닝 사용)
const names = users
.reduce((acc, cur) => {
acc.push(cur.name);
return acc;
}, [])
.join(", ");
console.log(names); // Neo, Amy, Lewis
const arr = ["A", "B", "C"];
const reversed = arr.reverse();
console.log(reversed); // ["C", "B", "A"]
console.log(arr); // ["C", "B", "A"]
const arr = ["A", "B", "C"];
console.log(arr.shift()); // A
console.log(arr); // ["B", "C"]
const arr = ["A", "B", "C", "D", "E", "F", "G"];
console.log(arr.slice(0, 3)); // ["A", "B", "C"]
console.log(arr.slice(4, -1)); // ["E", "F"]
console.log(arr.slice(4)); // ["E", "F", "G"]
console.log(arr); // ["A", "B", "C", "D", "E", "F", "G"]
const arr = [1, 2, 3, 4];
const isVaild = arr.some((item) => item > 3);
console.log(isVaild); // true
const arr = [1, 2, 3, 4];
const isVaild = arr.some((item) => item > 4);
console.log(isVaild); // false
const numbers = [4, 17, 2, 103, 3, 1, 0];
numbers.sort();
console.log(numbers); // [0, 1, 103, 17, 2, 3, 4]
numbers.sort((a, b) => a - b);
console.log(numbers); // [0, 1, 2, 3, 4, 17, 103]
numbers.sort((a, b) => b - a);
console.log(numbers); // [103, 17, 4, 3, 2, 1, 0]
const users = [
{ name: "Neo", age: 31 },
{ name: "Amy", age: 22 },
{ name: "Lewis", age: 48 },
];
users.sort((a, b) => a.age - b.age);
console.log(users); // 나이 순으로 정렬
users.sort((a, b) => b.age - a.age);
console.log(users); // 나이 역순으로 정렬
splice(변경할 요소의 인덱스, 삭제할 요소의 갯수, 추가할 요소)
const arr = ["A", "B", "C"];
arr.splice(2, 0, "X");
console.log(arr); // ["A", "B", "X", "C"]
const arr = ["A", "B", "C"];
arr.splice(1, 1);
console.log(arr); // ["A", "C"]
const arr = ["A", "B", "C"];
arr.splice(1, 2);
console.log(arr); // ["A"]
const arr = ["A", "B", "C"];
arr.splice(1, 1, "X");
console.log(arr); // ["A", "X", "C"]
const arr = ["A", "B", "C"];
arr.splice(1, 2, "X");
console.log(arr); // ["A", "X"]
const arr = ["A", "B", "C"];
console.log(arr.unshift("X")); // 4
console.log(arr); // ["X", "A", "B", "C"]
const arraylike = {
0: "A",
1: "B",
2: "C",
length: 3,
};
console.log(arraylike.constructor === Array); // false
console.log(arraylike.constructor === Object); // true
Array.from(arraylike).forEach((item) => console.log(item)); // A B C
const array = ["A", "B", "C"];
const arraylike = {
0: "A",
1: "B",
2: "C",
length: 3,
};
console.log(Array.isArray(array)); // true
console.log(Array.isArray(arraylike)); // false
const target = { a: 1, b: 2 };
const source1 = { b: 3, c: 4 };
const source2 = { c: 5, d: 6 };
const result = Object.assign(target, source1, source2);
console.log(target); // {a: 1, b: 3, c: 5, d: 6}
console.log(result); // {a: 1, b: 3, c: 5, d: 6}
const target = { a: 1, b: 2 };
const source1 = { b: 3, c: 4 };
const source2 = { c: 5, d: 6 };
const result = Object.assign({}, target, source1, source2);
console.log(target); // {a: 1, b: 2}
console.log(result); // {a: 1, b: 3, c: 5, d: 6}
전개 연산자를 활용하여 다음과 같이 코드를 작성할 수 있습니다.
const target = { a: 1, b: 2 };
const source1 = { b: 3, c: 4 };
const source2 = { c: 5, d: 6 };
const result = {
...target,
...source1,
...source2,
};
console.log(target); // {a: 1, b: 2}
console.log(result); // {a: 1, b: 3, c: 5, d: 6}
const user = {
name: "HS",
age: 22,
isValid: true,
email: "asd@gmail.com",
};
console.log(Object.entries(user));
for (const [key, value] of Object.entries(user)) {
console.log(key, value);
}
const user = {
name: "HS",
age: 22,
isValid: true,
email: "asd@gmail.com",
};
console.log(Object.keys(user)); // ['name', 'age', 'isValid', 'email']
const user = {
name: "HS",
age: 22,
isValid: true,
email: "asd@gmail.com",
};
console.log(Object.values(user)); // ['HS', 22, true, 'asd@gmail.com']
데이터 전달을 위한 표준 포맷
문자, 숫자, 불린, Null, 객체, 배열만 사용
문자는 큰 따옴표만 사용
후행 쉼표 사용 불가
.json 확장자 사용
JSON.stringify() : 데이터를 JSON 문자로 변환합니다.
JSON.parse() : JSON 문자를 분석해 데이터로 변환합니다.
console.log(JSON.stringify("Hello world!"));
console.log(JSON.stringify(123));
console.log(JSON.stringify(false));
console.log(JSON.stringify(null));
console.log(JSON.stringify({ name: "AA", age: 20 }));
console.log(JSON.stringify([1, 2, 3]));
console.log(JSON.parse('"Hello world!"'));
console.log(JSON.parse("123"));
console.log(JSON.parse("false"));
console.log(JSON.parse("null"));
console.log(JSON.parse('{"name": "AA", "age": 20}'));
console.log(JSON.parse("[1, 2, 3]"));