별의 공부 블로그 🧑🏻‍💻
728x90
728x170

* 객체란?

- 자바스크립트는 객체(Object) 기반 프로그래밍 언어.

- 객체를 구성하는 요소로는 속성(Property)과 기능(Method)가 있음.

- 자바스크립트 객체의 메소드와 속성을 사용하는 기본형

 1. 객체.메서드()                           // 갹체의 매서드를 실행함.

 2. 객체.속성; 또는 객체.속성=값;      // 객체의 속성값을 가져옴.  || 객체의 속성값을 바꿈.

 

* 객체의 종류

- 자바스크립트의 객체는 크게 내장 객체, 브라우저 객체 모델(BOM: Browser Object Model), 문서 객체 모델(DOM: Document Object Model)로 나눌 수 있음.

 

1) 내장 객체

- 내장 객체는 자바스크립트 엔진에 내장되어 있어, 필요한 경우 생성해 사용할 수 있음.

- 내장 객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math) 객체 등이 있음.

- 예를 들어 오늘 날짜를 알고 싶다면 오늘 일자를 알려 주는 메서드 getDate()를 사용하면 됨.

 

2) 브라우저 객체 모델(BOM)

- 브라우저에 계층적으로 내장되어 있는 객체들.

- window, screen, location, history, navigator 객체 등이 있음.

- 브라우저(window)는 document와 location 객체의 상위 객체임.

 

3) 문자 객체 모델(DOM)

- (X)HTML 문서 구조

- (X)HTML 문서의 기본 구조는 최상의 객체로 <html>이 있으며, 그 하위 객체로는 <head>와 <body>가 있음.

- 자바스크립트의 문서 객체 모델은 IE 8 이하 버전에서 호환성이 떨어지기 때문에 사용이 힘들다는 단점이 있음.

- 그래서 최근에 제이쿼리 문서 객체 모델을 많이 사용함.

 

 

* 내장 객체

- 내장 객체(Built-in Object)란 브라우저의 자바스크립트 엔진에 내장된 객체를 말하며, 필요한 경우 객체를 생성해 사용할 수 있음.

- 내장 객체로는 문자(String), 날짜(Date), 배열(Array), 수학(Math), 정규 표현 객체(RegExp Object) 등이 있음.

 

[내장 객체 생성하기]

 

 참조 변수(인스턴스 네임)=new 생성 함수() 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<<script type="text/javascript">
//<![CDATA[
var tv=new Object();    // 생성된 객체를 변수 tv가 참조함.
 
// tv 객체의 속성을 생성함.
    tv.width="30cm";
    tv.height="25cm";
    tv.weight="20kg";
    tv.color="white";
// tv 객체의 off 기능(메서드)을 생성함.
    tv.off=function() {
    document.write("전원 off""<br />");
}
 
document.write(tv.width, "<br />"); // tv의 너비 속성을 출력
document.write(tv.height, "<br />"); // tv의 높이 속성을 출력
document.write(tv.weight, "<br />"); // tv의 무게 속성을 출력
document.write(tv.color, "<br />"); // tv의 컬러 속성을 출력
 
tv.off();       // tv에 off 기능을 실행함
//]]>
</script>>
cs

 

[날짜 정보 객체]

 

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

- 날짜와 관련된 작업을 할 때 유용한 객체임.

- Date 객체는 다음과 같이 생성함.

 

참조 변수=new Date();     예) var t=new Date();

 

- 특정 날짜의 Date 객체는 다음과 같이 생성함.

 

 참조 변수=new Date("연/월/일");     예) var t=new Date("2002/5/31");

 참조 변수=new Date(연, 월-1, 일);    예) var t=new Date("2002,4,31); 

 

- 날짜 관련 메서드

날짜 정보를 가져올 때 (GET) 

 날짜 정보를 수정할 때 (SET)

 getFullYear()

 연도 정보를 가져옴.

setFullYear() 

 연도 정보만 수정

 getMonth()

 월 정보를 가져옴. (현재 월-1)

 setMonth()

 월 정보만 수정 (월-1)

 getDate()

 일 정보를 가져옴.

 setDate()

 일 정보만 수정

 getDay()

 요일 정보를 가져옴. (일:0 ~ 토:6)

 '요일'은 날짜를 바꾸면 자동으로 바뀌므로 setDay는 없음.

 getHours()

 시 정보를 가져옴.

 setHours()

 시 정보만 수정

 getMinutes()

 분 정보를 가져옴.

 setMinutes()

 분 정보만 수정

 getSounds()

 초 정보를 가져옴.

 setSeconds()

 초 정보만 수정

 getMilliseconds()

 밀리초 정보를 가져옴. (1/1000초 단위)

 setMilliseconds()

 밀리초 정보만 수정

 getTime()

 1970년 1월 1일부터 경과된 시간을 밀리초로 표기함.

setTime()

 1970년 1월 1일부터 경과된 시간을 밀리초로 수정

 toGMTString()

 GMT 표준 표기 방식으로 문자형 데이터로 반환함.

 toLocaleString()

 운영 시스템 표기 방식으로 문자형 데이터로 반환함.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<<script type="text/javascript">
//<![CDATA[
    var t=new Date();
    var nowMonth=t.getMonth();
    var nowDate=t.getDate();
    var noewDay=t.getDay();
    document.write("현재 월:"+nowMonth, "<br />");
    document.write("현재 일:"+nowDate, "<br />");
    document.write("현재 요일:"+nowDay, "<br />");
 
    var m=new Date(2002,4,31);      // 2002(5.31) 날짜 객체를 생성함.
 
    var theMonth=m.getMonth();
    var theDate=m.getDate();
    var theDay=m.getDay();
 
    document.write("2002월드컴 몇 월:"+theMonth, "<br />");
    document.write("2002월드컴 몇 일:"+theDate, "<br />");
    document.write("2002월드컴 무슨 요일:"+theDay, "<br />");
//]]>
</script>>
cs

 

 

- 특정 날짜부터 특정 날짜까지 며칠이 남았는지 구하는 형식은 다음과 같음. (이때 남은 일수는 밀리초(1/1000초) 단위로 계산됨.)

 

 남은 일수(밀리초) = 특정 날짜 객체 = 현재 날짜 객체 

 

 

 1초 = 1000(msc)

 1분(60초) = 1000 * 60      // 60,000(msc)

 1시간(60분) = 1000 * 60 * 60        // 3,600,000(msc)

 1일(60분*24) = 1000 * 60 * 60 * 24    // 86,400,000(msc)

 

[숫자 객체]

 

- 숫자 객체(Number Object)는 자바스크립트를 이용하여 숫자를 표기할 때, 표현 가능한 수의 속성과 숫자 표기법에 대한 메서드를 제공함.

 

 var 참조 변수 = new Number(값); 또는 var 참조 변수 = 값; 

 

- 자바스크립트의 표현 가능한 숫자의 속성을 알고 싶다면 다음과 같이 사용함.

 

 Number.속성; 

 

- 숫자에 대한 표기법 관련 메서드를 사용하려면 다음과 같이 사용함.

 객체.표기 메서드() 

 

- Number 객체의 속성

 

속성 

설명 

 MAX_VALUE

 표현 가능한 가장 큰 수

 NIN_VALUE

 표현 가능한 가장 작은 수

 POSITIVE_INFINITY

 무한대 수 표기

 NEGATIVE_INFINITY

 음의 무한대 수 표기

 NaN

 숫자가 아닌 경우 표기

 

- Number 객체의 메서드

 

속성 

설명 

 toExponential(n)

 지수 표기법으로 소수점 n자리만큼 문자형 데이터로 반환함.

 toFixed(n)

 소수점 n자리만큼 반올림하여 문자형 데이터로 반환함.

 toPrecision(n)

 유효 숫자 n의 개수만큼 반올림하여 문자형 데이터로 반환함.

 toString()

 숫자형 데이터를 문자형 데이터로 반환함.

 valueOf()

 객체의 원래 값을 반환함.

 parseInt(값)

 데이터를 정수로 변환하여 반환함.

 parseFloat(값)

 데이터를 실수로 변환하여 반환함.

 

 

[수학 객체]

 

- 자바스크립트 내장 객체에는 수학과 관련한 기능과 속성을 제공하는 수학 객체(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.random()*10; 

 

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

 

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

 

- 난수를 발생시켜 원하는 구간 정수의 값 구하기

 

 Math.floor(Math.random()*(최댓값-최솟값+1)+최솟값 

 

 

[배열 객체]

 

- 배열 객체의 기본형

 

var 참조 변수=new Array();

 참조 변수[0]=값1; 참조 변수[1]=값2; ... 참조 변수[n-1]=값n;

 

 var 참조 변수=new Array(값1, 값2, 값3, ..., 값n);

 

 var 참조 변수=[값1, 값2, 값3, ..., 값n];

 

- 배열 객체의 메서드 및 속성

 

속성 

설명 

 join(연결 문자)

 배열 객체에 데이터를 연결 문자 기준으로 1개의 문자형 데이터로 반환함.
 reverse()  배열 객체에 데이터의 순서를 거꾸로 바꾼 후 반환함.
 sort()

 배열 객체에 데이터를 오름차순으로 정렬함.

 slice(index1,index2)

 배열 객체에 데이터 중 원하는 인덱스 구간만큼 잘라서 배열 객체로 가져옴.

 splice()  배열 객체에 지정 데이터를 삭제하고 그 구간에 새 데이터를 삽입할 수 있음.
 concat()  2개의 배열 객체를 하나로 결합시킴.
 pop()  배열에 저장된 데이터 중 마지막 인덱스에 저장된 데이터를 삭제함.
 push(new data)

 배열 객체 마지막 인덱스에 새 데이터를 삽입함.

 shift()  배열 객체에 저장된 데이터 중 첫 번째 인덱스에 저장된 데이터를 삭제함.

 unshift(new data)

 배열 객체의 가장 앞의 인덱스에 새 데이터를 삽입함.

 length  배열에 저장된 총 데이터의 개수를 반환함.

 

 

[문자 객체]

 

- 문자 객체(String Object)는 문자형 데이터를 객체로 취급하는 것으로, 자바스크립트에서 가장 많이 사용함.

 

- 문자 객체 생성법

 

 var 참조 변수=new String(문자형 데이터) 

 

 var 참조 변수=문자형 데이터

 

- 예)

 

 var t=new String("hello javascript");  // 문자 객체 생성

 

 var t="hello javascript";  // 문자 객체 생성

 

- 문자 객체 메서드 및 속성

 

종류

설명

 charAt(index)

 문자열에서 인덱스 번호에 해당하는 문자를 반환함.

 indexOf("찾을 문자")

 문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 최초로 일치하는 문자의 인덱스 번호를 반환함.

 만일 찾는 문자가 없으면 -1을 반환함.

 lastIndexOf("찾을 문자")

 문자열에서 오른쪽부터 찾을 문자와 일치하는 문자를 찾아 최초로 일치하는 문자의 인덱스 번호를 반환함.

 만일 찾는 문자가 없으면 -1을 반환함.

 match("찾을 문자")

 문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 최초로 찾은 문자를 반환함.

 만일 찾는 문자가 없으면 -1을 반환함.

 replace("바꿀 문자", "새 문자")

 문자열에서 왼쪽부터 바꿀 문자와 일치하는 문자를 찾아 최초로 찾은 문자를 새 문자로 치환함.

 search("찾을 문자")

 문자열에서 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 최초로 일치하는 인덱스 번호를 반환함.

 slice(a, b)

 2개의 문자를 자르고 b번째 이후에 문자를 자른 후 남은 문자를 반환함.

 파라미터에 -1을 적을 경우, -1은 뒤에서 1글자를 가리킴.

 substring(a, b)

 a 인덱스부터 b 인덱스 이전 구간의 문자를 반환함.

 substr(a, 문자 개수)

 문자열 a 인덱스부터 지정한 문자 개수만큼 문자열을 반환함.

 split("문자")

 지정한 문자를 기준으로 문자 데이터를 나누어 배열에 저장하여 반환함.

 예) vat str="webkmobilek2002"; var arr=str.split("K"); -> arr="web mobile 2002"

 toLowerCase()

 문자열에서 영문 대문자를 모두 소문자로 바꿈.

 toUpperCase()

 문자열에서 영문 소문자를 모두 대문자로 바꿈.

 length

 문자열에서 문자의 개수를 반환함.

 concat("새로운 문자")

 문자열에 새로운 문자열을 결합함.

 charCodeAt("찾을 문자")

 찾을 문자의 아스키 코드 값을 반환함.

 fromCharCode(아스키 코드 값)

 아스키 코드 값에 해당하는 문자를 반환함.

 trim()

 문자의 앞 또는 뒤에 공백 문자열을 삭제함. (" hello " -> "hello")

 

 

[정규 표현 객체]

 

- 정규 표현(RegExp) 객체는 입력 요소에 데이터를 규칙에 맞게 작성했는지 판단해서 알려주는 객체임.

- 즉, 내가 지정한 규칙대로 단어가 입력되었는지, 잘못된 단어를 포함하고 있는지 찾을 때 사용함.

- 정규 표현 객체를 생성하는 기본형

 

 1. var 참조 변수=new RegExp(패턴, 검색 옵션)

 2. var 참조 변수=/패턴/검색 옵션 

 

- 검색 옵션을 사용하면 일치하는 단어를 찾을 때, 다양한 조건과 규칙을 붙여 검색할 수 있음.

- 정규 표현 검색 옵션

 

종류 

설명 

 *

 0회 이상 일치하는 문자를 검사할 때 사용함.

 +

 1회 이상 일치하는 문자를 검사할 때 사용함.

 i

 찾는 문자가 영문일 경우 대·소문자를 구분하지 않음.

 ?

 0회 또는 1회, 규칙에 맞는 문자가 있는지 검사함.

 g

 옵션에 g가 없으면 데이터의 왼쪽부터 규칙을 일치하는 문자 한 개만 찾지만, g를 넣으면 규칙에 맞는 모든 문자를 찾음.

 m

 데이터의 행이 바뀌어도 규칙에 맞는 문자를 찾음.

 $

 문자열 끝부분에 규칙에 맞는 문자를 찾음.

 ^

 문자열 앞에서부터 규칙에 일치하는 문제를 찾음. 또는 부정을 나타냄.

 \d

 숫자 하나를 찾음.

 \D

 숫자가 아닌 문자 하나를 찾음.

 \s

 공백 문자(스페이스)를 찾음.

 [0-9][A-Z][a-z]

 숫자, 대문자 영문, 소문자 영문을 찾음.

 \w

 알파벳, 숫자, 밑줄(_) 기호를 찾음.

 \W

 알파벳, 숫자, 밑줄(_) 기호를 제외한 문자를 찾음.

 a|b

 a 또는 b인지 검사할 때 사용함.

 

- 정규 표현 메서드

 

종류 

설명 

 test()

 지정된 규칙에 맞는 단어가 있으면 true 값을 반환함.

 exec()  지정된 규칙에 맞는 단어가 있으면 해당 단어를 반환함.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<<script type="text/javascript">
//<![CDATA[
    var str="Html Css Jquery";
    var reg1=/css/;     // var reg1=new RegExp("css");
 
    //변수 str에 데이터가 reg1에 정규 표현 규칙을 잘 지켰으면 true를 반환하고, 안 지켰을 경우에는 false를 반환함.
    var result_1=reg1.test(str);
    document.write(result_1,"<br />");
 
    // 옵션에 'i'를 입력하면 영문 대소문자를 구분하지 않음
    var reg2=/css/i;    // var reg2=new RegExp("css","i");
 
    var result_2=reg2.text(str);
    document.write(result_2,"<br />");
//]]>
</script>>
cs

 

 

내용 출처 : Do It! 자바스크립트+제이쿼리 입문 (정인용 지음, 이지스퍼블리싱)

728x90
그리드형(광고전용)

'Programming > JavaScript' 카테고리의 다른 글

이벤트 (Event)  (0) 2017.05.21
함수 (Function)  (0) 2017.05.20
문서 객체 모델(DOM)  (0) 2017.05.20
브라우저 객체 모델(BOM)  (0) 2017.05.20
자바스크립트 기초 문법  (0) 2017.05.20
쿠키(Cookie)  (0) 2017.05.18
JavaScript의 메서드  (0) 2017.05.18
JavaScript 이벤트  (0) 2017.05.18
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖