javascript- 내장 객체

현우.·2024년 6월 14일

JavaScript

목록 보기
7/31
post-thumbnail

객체의 종류

객체는 크게 3가지로 구분할 수 있다.

  1. Built-in 객체 (내장 객체)
  2. Host 객체( 브라우저 환경- Browser APIs, 노드 환경- Node APIs)
  3. 사용자 정의 객체

그중 Built-in 객체에는 무엇이 있는지 알아보도록 하자.

Built-in Objects

Wrapper Object

원시타입이 평소에는 원시 타입으로 사용되다 필요에 따라 해당 타입의 빌트인 객체가 해당 타입을 감싸는 것을 말한다.

const str ='coding';  // string 원시타입
 // String 객체가 원시타입 str을 감싼다. str= new String("coding");
 // String 객체의 프로퍼티와 메소드 사용 가능
console.log(str.length); 
console.log(str.charAt(0));
console.log(str); // 다시 원시타입으로 돌아간다.

wrapper 객체에는 String, Number, Boolean이 있다.

Boolean 객체

Boolean 원시값을 감싸고 있는 객체

boolean형으로 변환시

false인 값

0, -0 ,'' ,null, undefined, NaN가 있다.

true인 값

1 , -1 , 'false', '0' , {}, []가 있다.

false값으로 초기화한 Boolean 객체

var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean("");
var bfalse = new Boolean(false);

true값으로 초기화한 Boolean 객체

var btrue = new Boolean(true);
var btrueString = new Boolean("true");
var bfalseString = new Boolean("false");
var bSuLin = new Boolean("Su Lin");
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});

Boolean 객체의 true, false값과 Boolan 원시값의 false,true는 다르다.
값이 null, undefined가 아니라면 모든 객체는 조건문에서 true로 계산된다.

조건문에서 초기화된 Boolean 객체 활용

let x= new Boolean(false); 
//x의 초기값은 false지만 x는 객체이므로 조건문에서 true
if(x){
	console.log('hello');
    }
// hello

인스턴스 메소드

Boolean.prototype.toString()

Boolean 객체를 나타내는 문자열 반환(Boolean을 문자열로 나타낼때 사용)

const x =new Boolean(1);
console.log(x.toString()); // "true" 문자열 반환

Boolean.prototype.valueOf()

Boolean 객체나 불리언 리터럴의 원시 값을 Boolean 자료형의 값으로 반환

const x =new Boolean("hi");
console.log(x.valueOf()); //  true

Number 객체

숫자를 다룰 때 사용하는 래퍼 객체이다.

Number 객체에는 정적 프로퍼티, 메소드 ,인스턴스 메소드가 있다.
정적 프로퍼티, 메소드는 인스턴스(객체) 생성 없이 사용가능하고
인스턴스 메소드는 별도의 Number객체를 생성해 사용해야 한다.

String 객체

문자열을 다루는 내장 객체이다.

String 객체에는 정적 프로퍼티, 메소드 ,인스턴스 메소드가 있다.
정적 프로퍼티, 메소드는 인스턴스(객체) 생성 없이 사용가능하고
인스턴스 메소드는 별도의 String객체를 생성해 사용해야 한다.
단독 글에서 세부적으로 다룬다...

Math 객체

수학적인 상수, 함수를 위한 속성과 메소드를 가진 내장 객체이며
함수 객체가 아니기 때문에 모든 속성과 메소드는 정적이다.

자주 사용하는 메소드

Math.abs(x)

숫자의 절댓값을 반환

Math.ceil(x)

인수보다 크거나 같은 수 중에서 가장 작은 정수를 반환

Math.floor(x)

인수보다 작거나 같은 수 중에서 가장 큰 정수를 반환

Math.max([x[, y[, …]]])

0개 이상의 인수에서 제일 큰 수를 반환

Math.min([x[, y[, …]]])

0개 이상의 인수에서 제일 작은 수를 반환

Math.pow(x, y)

x의 y 제곱을 반환

Math.random()

0과 1 사이의 난수를 반환

// 1~10사이의 random한 정수 반환
console.log(Math.floor(Math.random()*10+1));

Math.sqrt(x)

숫자의 제곱근을 반환

Math.trunc(x)

숫자의 정수 부분을 반환

Date 객체

날짜를 다루는 내장객체이다.

단독글에서 세부적으로 다룬다..

profile
학습 기록.

0개의 댓글