본문 바로가기

언어공부/JavaScript&jQuery

자바 스크립트(JavaScript) 기초 문법 - 내장객체 (날짜객체/수학객체)

자바 스크립트(JavaScript) 기초 문법 

내장 객체

내장 객체(Built-in Object)란 브라우저의 자바스크립트 엔진에 내장된 객체를 말하며, 필요한 경우 객체를 생성해서 사용할 수 있다. 내장 객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math), 정규 표현 객체(RegExp Object)등이 있다.

 

내장 객체 생성하기

객체를 생성할 때는 new라는 키워드와 생성 함수를 사용한다.

 

<script>
참조 변수 = new 생성 함수();

var now=new Date();
// Date()는 자바 스크립트 날짜 객체이다. new키워드로 새로운 날짜 객체 now를 생성.
</script>

 

여기서 new 키워드와 기본 객체 생성 함수 Object()를 이용해 객체를 생성한다.  (사용자 정의 객체)

 

<script>
var tv=new Object();
tv.color="black";
tv.price=500000;
tv.info=function(){
	document.write("색상:"+this.color+"<br/>");
    document.write("가격:"+this.price+"<br/>");
}

var myCar={make:"BMW", model:"X5",
info: function(){document.write(this.make+this.model);}};

tv.info();
document.write("<br/>");
myCar.info();
</script>

 

위 코드에서 생성된 객체는 변수 tv가 참조하고 있으며, 이를 이용해 객체의 속성과 메소드를 생성한다. 변수를 이용해 참조를 한다는 말은 앞으로 생성된 객체를 이용할 때 참조변수를 사용하겠다는 의미이다. 객체를 생성하는 것은 tv, myCar처럼 할 수 있다.

 


날짜 정보 객체

날짜나 시간 관련 정보를 제공받고 싶을 때는 날짜 객체(Date Object)를 생성한다.

 

<script>
var time=new Date();//Date객체 생성

//특정 날짜 정보 객체를 생성
var ex1=new Date("2021/7/11");
var ex2=new Date(2021,6,11);//월-1
</script>

 

날짜 관련 메소드

 

날짜 정보를 가져올 때 (GET) 날짜 정보를 수정할 때(SET)
getFullYear( ) 연도 정보를 가져옴 setFullYear( ) 연도 정보만 수정함
getMonth( ) 월 정보를 가져옴(현재 월-1) setMonth( ) 월 정보만 수정함(월-1)
getDate( ) 일 정보를 가져옴 setDate( ) 일 정보만 수정함
getDay( ) 요일 정보를 가져옴(일:0,토:6) 요일은 날짜를 바꾸면 자동으로 바뀌므로 setDay( )가 없다.
getHours( ) 시 정보를 가져옴 setHours( ) 시 정보만 수정함
getMinutes( ) 분 정보를 가져옴 setMinutes( ) 분 정보만 수정함
getSeconds( ) 초 정보를 가져옴 setSeconds( ) 초 정보만 수정함
getMilliseconds( ) 밀리초 정보를 가져옴
(1/1,000초 단위)
setMilliseconds( ) 밀리초 정보만 수정함
getTime( ) 1970년 1월 1일부터 경과된
시간을 밀리초로 표기함
setTime( ) 1970년 1월 1일부터 경과된
시간을 밀리초로 수정함
toGMTString( ) GMT 표준 표기 방식으로 
문자형 데이터로 반환함
toLocaleString( ) 운영 시스템 표기 방식으로
문자형 데이터로 반환함

 

만약 D-day를 구하려면, 남은 일 수(밀리초)= 특정 날짜 객체 - 현재 날짜 객체 로 구할 수 있다.

밀리초로 1일은 1,000* 60* 60 * 24로 총 86,400,000(msc)로 Math.ceil(남은 일 수 (밀리초) /(1,000* 60* 60 * 24));로 구할 수 있다.

 


수학 객체

자바스크립트 내장 객체에는 수학과 관련된 기능과 속성을 제공하는 수학 객체(Math Object)가 있다.

 

수학 객체의 메소드 및 상수

종류 설명
Math.abs(숫자) 숫자의 절대값을 반환한다.
Math.max(숫자 1, 숫자 2, 숫자 3, 숫자 4) 숫자 중 가장 큰 값을 반환한다.
Math.min(숫자 1, 숫자 2, 숫자 3, 숫자 4) 숫자 중 가장 작은 값을 반환한다.
Math.pow(숫자,제곱값) 숫자의 거듭제곱값을 반환한다.
Math.random() 0~1 사이의 난수를 반환한다.
Math.round(숫자) 소수점 첫째 자리에서 반올림하여 정수를 반환한다.
Math.ceil(숫자) 소수점 첫째 자리에서 무조건 올림하여 정수를 반환한다.
Math.floor(숫자) 소수점 첫째 자리에서 무조건 내림하여 정수를 반환한다.
Math.sqrt(숫자) 숫자의 제곱근값을 반환한다.
Math.PI 원주율 상수를 반환한다.

 

Math.random()을 이용하여 0부터 10까지 정수로만 난수를 반환하려면 다음과 같다.

 

Math.floor(Math.random()*11);
//0부터 10까지 난수를 발생하여 소수점 값을 제거한다.

Math.floor(Math.random()*11)+50;
//50부터 60까지 정수로 난수를 발생한다.

 

floor()메소드는 값을 내리기 때문에 0이 아닌 11을 사용한다. 이코드에 +50을 하면 50부터 60까지 난수를 발생하게 한다.