JavaScript 기본 내장 객체들

백승우·2026년 2월 11일

[이론내용 정리]


기본 내장 객체들

1. 내장 객체

자바스크립트는 자주 사용하는 기능들을 기본 내장 객체로 제공한다.
내장 객체를 사용하면 문자열 처리, 숫자 계산, 날짜 처리, 배열 관리 등을 쉽게 할 수 있다.


String 객체

문자열을 객체로 만들어 문자열을 더 편리하게 다룰 수 있도록 해주는 객체이다.

String 객체 생성 방법

  • 변수식 선언 방식

    let str = '문자열';

  • 생성자 함수식 선언 방식

    let str = new String('문자열');

두 방식 모두 문자열을 다룰 수 있지만, 일반적으로 변수식 선언 방식을 더 많이 사용한다.


String 주요 메소드

메소드명설명
charAt(index)지정한 인덱스에 위치한 문자 반환
substr(idx, len)idx부터 len개 문자 추출 (len 생략 시 끝까지)
match(str)문자열에 특정 문자가 있는지 확인
substring(idxA, idxB)idxA부터 idxB 이전까지 문자열 반환
toLowerCase()문자열을 소문자로 변환
toUpperCase()문자열을 대문자로 변환
indexOf(s, idx)특정 문자의 위치 검색
replace(a, b)a 문자열을 b 문자열로 변경
concat(a, b, ...)문자열을 순서대로 연결
split(separator, limit)문자열을 분리하여 배열로 반환

String 메소드 사용 예시

let str = "JavaScript";

console.log(str.charAt(0));        // J
console.log(str.substring(0, 4));  // Java
console.log(str.toUpperCase());    // JAVASCRIPT
console.log(str.split("a"));       // 문자열 분리

각 메소드는 문자열을 직접 변경하지 않고 새로운 문자열을 반환한다.


Number 객체

문자열을 숫자로 변환하거나 숫자 관련 기능을 제공하는 객체이다.
변수식 선언 방식과 생성자 함수식 선언 방식이 모두 존재한다.

주요 메소드

메소드명설명
toString()숫자를 문자열로 변환
toFixed(n)소수점 n자리까지 반올림하여 문자열로 반환

Number 메소드 예시

let num = 3.14159;

console.log(num.toString());   // "3.14159"
console.log(num.toFixed(2));   // "3.14"

Math 객체

수학 계산을 위해 제공되는 객체이다.
Math 객체는 생성하지 않고 바로 사용한다.

주요 메소드

  • Math.ceil(숫자) : 올림
  • Math.floor(숫자) : 내림
  • Math.round(숫자) : 반올림
  • Math.random() : 0 이상 1 미만의 난수 반환

Math 객체 예시

var testNum = Math.random();
console.log(testNum);

Date 객체

날짜와 시간 정보를 저장하고 처리하는 객체이다.

Date 객체 생성

let now = new Date();        // 현재 날짜와 시간
let day = new Date(2025, 1, 1);  // 날짜 지정 (월은 0부터 시작)

Date 주요 메소드

메소드명설명
getFullYear() / setFullYear()연도 반환 / 설정
getMonth() / setMonth()월 반환 / 설정 (0~11)
getDate() / setDate()일 반환 / 설정
getHours() / setHours()시 반환 / 설정
getMinutes() / setMinutes()분 반환 / 설정
getSeconds() / setSeconds()초 반환 / 설정
getMilliseconds() / setMilliseconds()밀리초 반환 / 설정
getDay()요일 반환 (0:일요일 ~ 6:토요일)

Array 객체

여러 개의 데이터를 하나의 변수에 저장할 수 있는 객체이다.

배열 생성 방법

let n = [1, 2, 3];
let n2 = new Array(1, 2, 3);

Array 주요 속성 및 메소드

속성/메소드설명
length배열의 길이
concat(a, b)배열을 합쳐 새로운 배열 생성
pop()배열의 마지막 요소 제거
shift()배열의 첫 번째 요소 제거
push()배열의 마지막에 요소 추가
unshift()배열의 앞에 요소 추가
slice()배열의 일부를 추출
includes()특정 요소 포함 여부 확인
forEach()배열 요소를 하나씩 순회
sort()배열 요소 정렬
reverse()배열 순서 반전

Array 메소드 예시

let arr = [1, 2, 3];

arr.push(4);        // [1,2,3,4]
arr.pop();          // [1,2,3]
arr.forEach(function(value, index) {
    console.log(value, index);
});

Note.

  • String : 문자열 처리
  • Number : 숫자 처리
  • Math : 수학 계산
  • Date : 날짜와 시간 처리
  • Array : 여러 데이터 관리

내장 객체를 잘 활용하면 코드가 훨씬 간결해진다.





[실습내용 정리]


String 객체

string.substr()



string.match()



string.charAt()



string.indexOf(), string.replace(), string.trim()


string.concat()


string.split()


Note.

String 객체는 JS에서 가장 많이 활용되는 객체이다. 위의 예시들과 같이 여러 메서드가 고루고루 요긴하게 많이 쓰여진다.

String 객체는 위의 예시들과 같이 눈으로 보기에는 문자열 (기본형) 같아보이지만 내부적으로 js에서 오토 박싱(자동박싱)으로 내부에서 객체로 처리한다.

추가적으로, 특별한 경우 아래의 예시와 같이 필요에 의해서 직접 객체로 선언되어 쓰여질 수 있다.


Reference

JS - string 객체
[참고문서 링크] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String


Number 객체

Number 객체 선언




number.toFix()





Reference

JS - Number 객체
[참고문서 링크] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number


Math 객체

math.ceil(), math.floor(), math.round()


**!! math.random()


Note.

Math 객체에서 Random 메서드는 가장 많이 쓰이는 함수중에 하나이다. 그리고 Random으로 생성된 수는 범위가 기본적으로 0~1이므로 위의 예시와 같이 범위 설정을 해주면 된다.

Reference

JS - Math 객체
[참고문서 링크] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math


Date 객체

Date 객체 선언


date.toLocal~String() (포멧 변경)


date.get~()


Reference

JS - Date 객체
[참고문서 링크] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date


Array 객체








아래와 같이 화살표 함수를 사용해서 간결하게 filter함수를 쓸 수 있다.



filter()함수처럼, 아래와 같이 화살표 함수를 사용해서 간결하게 reduce()함수를 쓸 수 있다.



Reference

JS - Array 객체
[참고문서 링크] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array


profile
나는 부자가 될래!😼🐰❤️

0개의 댓글