1. 배열 메서드
- push(): 배열의 마지막에 하나 이상의 요소를 추가한다.
- pop(): 배열의 마지막 요소를 제거하고 그 요소를 반환한다.
- shift(): 배열의 첫 번째 요소를 제거하고 그 요소를 반환한다.
- slice(): 배열의 일부를 선택하여 새 배열을 반환한다. 시작 인덱스는 포함되지만 끝 인덱스는 포함되지 않는다.
let arr = [1, 2, 3];
arr.push(4); // [1, 2, 3, 4]
arr.pop(); // [1, 2, 3]
arr.shift(); // [2, 3]
let slicedArr = arr.slice(1, 2); // [3]
2. 재귀 함수
- 재귀 함수: 자기 자신을 호출하는 함수이다. 재귀 함수는 주로 특정 조건에 도달할 때까지 반복 작업을 수행할 때 사용한다.
function factorial(n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
console.log(factorial(5)); // 120
3. 객체
- 객체: 키-값 쌍으로 이루어진 데이터 구조이다. 객체는 Map 타입처럼 동작하며, 키를 통해 값을 저장하고 검색할 수 있다.
let person = {
name: 'John',
age: 30,
job: 'developer'
};
console.log(person.name); // 'John'
4. JSON
- JSON (JavaScript Object Notation): 자바스크립트 객체 표기법을 사용하여 데이터를 표현하는 형식이다. JSON은 텍스트 형식으로 데이터를 저장하고 전송할 때 사용된다.
let jsonString = '{"name": "John", "age": 30}';
let jsonObject = JSON.parse(jsonString); // 문자열을 객체로 변환
console.log(jsonObject.name); // 'John'
let newJsonString = JSON.stringify(jsonObject); // 객체를 문자열로 변환
console.log(newJsonString); // '{"name":"John","age":30}'
5. Set
- Set: 유일한 값들의 집합이다. Set을 사용하면 중복된 값을 자동으로 제거할 수 있다.
let numbers = [1, 2, 2, 3, 4, 4, 5];
let uniqueNumbers = new Set(numbers); // {1, 2, 3, 4, 5}
console.log(uniqueNumbers);
6. var 키워드
- var: 변수 선언 키워드이다. 전역 스코프를 가지며, 함수 스코프 내에서는 지역 변수를 선언할 수 있다. 그러나 블록 스코프를 지원하지 않아 혼란을 초래할 수 있다. 최신 자바스크립트에서는 let과 const를 사용하는 것이 권장된다.
function example() {
if (true) {
var x = 5;
}
console.log(x); // 5
}
example();
7. length와 요소 출력
- length: 배열이나 문자열의 길이를 나타낸다. 요소를 인덱스로 접근하여 출력할 때 유효한 인덱스 범위를 넘어서면 undefined가 반환된다.
let arr = [1, 2, 3];
console.log(arr.length); // 3
console.log(arr[arr.length - 1]); // 3, 마지막 요소 출력
8. slice()
- slice(): 배열의 일부를 선택하여 새 배열을 반환한다. 시작 인덱스는 포함되지만 끝 인덱스는 포함되지 않는다.
let fruits = ['apple', 'banana', 'cherry', 'date'];
let slicedFruits = fruits.slice(1, 3); // ['banana', 'cherry']
console.log(slicedFruits);
종합 예시
// 배열 메서드
let arr = [1, 2, 3];
arr.push(4); // [1, 2, 3, 4]
arr.pop(); // [1, 2, 3]
arr.shift(); // [2, 3]
let slicedArr = arr.slice(1, 2); // [3]
// 재귀 함수
function factorial(n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
console.log(factorial(5)); // 120
// 객체
let person = {
name: 'John',
age: 30,
job: 'developer'
};
console.log(person.name); // 'John'
// JSON
let jsonString = '{"name": "John", "age": 30}';
let jsonObject = JSON.parse(jsonString); // 문자열을 객체로 변환
console.log(jsonObject.name); // 'John'
let newJsonString = JSON.stringify(jsonObject); // 객체를 문자열로 변환
console.log(newJsonString); // '{"name":"John","age":30}'
// Set
let numbers = [1, 2, 2, 3, 4, 4, 5];
let uniqueNumbers = new Set(numbers); // {1, 2, 3, 4, 5}
console.log(uniqueNumbers);
// var 키워드
function example() {
if (true) {
var x = 5;
}
console.log(x); // 5
}
example();
// length와 요소 출력
let arr2 = [1, 2, 3];
console.log(arr2.length); // 3
console.log(arr2[arr2.length - 1]); // 3, 마지막 요소 출력
// slice()
let fruits = ['apple', 'banana', 'cherry', 'date'];
let slicedFruits = fruits.slice(1, 3); // ['banana', 'cherry']
console.log(slicedFruits);
licedFruits = fruits.
slice(
1,
3);
// ['banana', 'cherry'] console.
log(slicedFruits);