[JavaScript] 알아두면 쓸모있는 메서드

윤혜정·2025년 6월 12일

JavaScript

목록 보기
1/2
post-thumbnail

✅ 수학 관련 메서드

Math.sqrt(n)	// 제곱근 구하기
Math.pow(a, b)	// a의 b제곱 (ex: Math.pow(2, 3) → 8)
Math.abs(n)	// 절댓값
Math.max(...arr) / Math.min(...arr)	// 배열의 최대/최소값, 반드시 ...(전개 연산자)를 써야함.
Math.floor(n)	// 내림 (정수 몫 구할 때 사용)
Math.ceil(n)	// 올림
Math.round(n)	// 반올림
Math.round(num * 100) / 100; // 소수 둘째 자리까지 반올림 (예: 3.14)
Number.isInteger(n)	// 정수인지 판별

✅ 문자열 관련 메서드

str.split('')	// 문자열 → 문자 배열
arr.join('')	// 문자 배열 → 문자열
str.includes('a')	// 문자열에 특정 문자 포함 여부
str.indexOf('a')	// 첫 등장 위치
str.slice(start, end)	// 부분 문자열 추출
str.replace('a', 'b')	// 문자 교체 (처음 1개만)
str.sort() // 문자열 정렬
str.sort().reverse() // 문자열 정렬 내림차순
str.replaceAll('a', 'b') // 문자 교체 (전체)
'abc'.repeat(3)	// 반복 문자열 생성 ('abcabcabc')

✅ 배열 관련 메서드

arr.includes(x)	// 배열에 x가 있는지
arr.indexOf(x)	// x의 인덱스 (없으면 -1)
arr.push(x) / arr.pop()	// 끝에 추가 / 제거
arr.unshift(x) / arr.shift()	// 앞에 추가 / 제거
arr.slice(start, end)	// 배열 일부 추출
arr.splice(start, deleteCount, item1, item2, ...) // 배열 자르거나 삽입
arr.reverse()	// 배열 뒤집기
arr.sort((a, b) => a - b)	// 숫자 오름차순 정렬
arr.map((element, index, array) => {
  // element: 현재 값
  // index: 해당 값의 인덱스
  // array: 원본 배열
}); // 새 배열 생성
arr.filter((value, index, array) => {
  // true를 반환하면 남기고, false면 제거됨
});
arr.reduce((acc, cur) => acc + cur)	// 누적 합, 곱 등 계산

✅ 기타 자주 쓰는 것들

for (let i = 0; i < arr.length; i++)	// 일반적인 반복문
for (let x of arr)	// 요소 순회
for (let i in arr)	// 인덱스 순회
new Set(arr)	// 중복 제거
[...new Set(arr)]	// 중복 제거된 배열
arr.every(x => 조건)	// 모든 요소가 조건 만족하면 true
arr.some(x => 조건)	// 하나라도 만족하면 true

✅ 형변환 관련 메서드

Number(str)	// 문자열 → 숫자
String(num)	// 숫자 → 문자열
parseInt("1010", 2)	// 문자열 → 정수 (2진수 "1010"을 10진수 10으로)
parseFloat('12.34')	// 문자열 → 실수
Number.isInteger(value) // 값이 정수인지 판별
Number.isNaN(value) // 값이 숫자가 아닌 경우 true를 반환하고, 숫자면 false를 반환
typeof 123 === "number";     // true, 값이 숫자인지 판별
typeof "123" === "number";   // false, (정수인지까지는 모름)

🚗 toString()

기본 : 숫자 -> 문자열 변환

let num = 123;
console.log(num.toString());  // "123"

let bool = true;
console.log(bool.toString()); // "true"

숫자를 다른 진법으로 변경
toString(radix)

let num = 255;

console.log(num.toString(2));   // "11111111" (2진수)
console.log(num.toString(8));   // "377"      (8진수)
console.log(num.toString(16));  // "ff"       (16진수)
// 다시 10진수로 바꾸는 메서드
parseInt(문자열, 진수);

const binary = "1010";
const decimal = parseInt(binary, 2); // 2진수를 10진수로!

console.log(decimal); // 10

객체에서의 toString()

  • 객체는 기본적으로 "객체타입 문자열"로 변환됨

  • 필요하면 toString()을 재정의할 수도 있음

const obj = { a: 1 };
console.log(obj.toString());  // "[object Object]"

const person = {
  name: "John",
  toString: function () {
    return `Person: ${this.name}`;
  },
};

console.log(person.toString());  // "Person: John"

배열에서의 toString()

let arr = [1, 2, 3];
console.log(arr.toString()); // "1,2,3"

inincludes()

in은 보통 객체에서 해당 값이 존재하는지 여부를 bool로 판단

const obj = { name: "Neo", age: 20 };
console.log("name" in obj); // true
console.log("gender" in obj); // false

배열과 문자열에서는 해당 인덱스가 존재하는지를 판단

onst arr = [10, 20, 30];
console.log(0 in arr);   // true (0번 인덱스가 있음)
console.log(2 in arr);   // true
console.log(3 in arr);   // false (3번 인덱스 없음)

const str = "hello";
console.log(1 in str); // true → 인덱스 1 존재 ("e")
console.log(5 in str); // false → 인덱스 5 없음

in은 속성(key) 또는 인덱스(index) 가 있는지 확인하는 용도고,

어떤 값이 배열에 존재하는지 확인하려면 includes()를 써야 한다.

const arr = [1, 2, 3];

console.log(arr.includes(4));    // false
console.log(!arr.includes(4));   // true → 4가 없으니까 true

❗️ 파이썬의 not in과 같은 연산자는 자바스크립트는 없다.
따라서 !를 사용해서 bool 값을 반전시켜주면 된다.

const obj = { name: "Neo", age: 20 };

console.log("name" in obj);    // true
console.log(!("gender" in obj)); // true → gender가 없으니까 true
profile
천천히 꾸준하게.

0개의 댓글