
객체는 크게 3가지로 구분할 수 있다.
그중 Built-in 객체에는 무엇이 있는지 알아보도록 하자.
원시타입이 평소에는 원시 타입으로 사용되다 필요에 따라 해당 타입의 빌트인 객체가 해당 타입을 감싸는 것을 말한다.
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 원시값을 감싸고 있는 객체
false인 값
0, -0 ,'' ,null, undefined, NaN가 있다.
true인 값
1 , -1 , 'false', '0' , {}, []가 있다.
var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean("");
var bfalse = new Boolean(false);
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로 계산된다.
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객체를 생성해 사용해야 한다.
문자열을 다루는 내장 객체이다.
String 객체에는 정적 프로퍼티, 메소드 ,인스턴스 메소드가 있다.
정적 프로퍼티, 메소드는 인스턴스(객체) 생성 없이 사용가능하고
인스턴스 메소드는 별도의 String객체를 생성해 사용해야 한다.
단독 글에서 세부적으로 다룬다...
수학적인 상수, 함수를 위한 속성과 메소드를 가진 내장 객체이며
함수 객체가 아니기 때문에 모든 속성과 메소드는 정적이다.
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)
숫자의 정수 부분을 반환
날짜를 다루는 내장객체이다.
단독글에서 세부적으로 다룬다..