🎨 Programming/JavaScript

[JavaScript] 11. 내장 객체(Math, String, Data)

ryang x2 2020. 9. 15. 00:17
728x90
반응형

● Math 객체 

Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체입니다.

min() 인수로 전달 받은 값 중에서 가장 작은 수를 리턴합니다. 인수를 전달되지 않으면 Infinity를 리턴합니다. 또한, 인수 중에서 비교할 수 없는 값이 포함되어 있으면 NaN을 리턴합니다.
max() 인수로 전달 받은 값 중에서 가장 큰 수를 리턴합니다. 인수가 전달되지 않으면 -Infinity를 리턴합니다. 또한, 인수 중에서 비교할 수 없는 값이 포함되어 있으면 NaN을 리턴합니다.
round() 인수로 전달 받은 값을 소수점 첫번째 자리에서 반올림하여 그 결과를 리턴합니다.
floor() 인수로 전달 받은 값과 같거나 작은 수 중에서 가장 큰 정수를 리턴합니다.
ceil() 인수로 전달 받은 값과 같거나 큰 수 중에서 가장 작은 정수를 리턴합니다.
random() 0보다 크거나 같고 1보다 작은 무작위의 소수를 리턴합니다.

 

예시 1) min() / max()

<script>
        'use strict'
        console.log(Math.min());
        console.log(Math.min(1, 10, -10, 1000, 0)); 
        console.log(Math.min(1, 10, -10, "-1000", 0)); 
        console.log(Math.min(1, 10, -10, "문자열", 0)); 
        console.log(Math.max());
</script>

예시 2) round()

<script>
        'use strict'
        console.log(Math.round(10.49));
        console.log(Math.round(10.5));
        console.log(Math.round(-10.5));
        console.log(Math.round(-10.51));
</script>

예시 3) floor()

<script>
        'use strict'
        console.log(Math.floor(10.49));
        console.log(Math.floor(10.5));
        console.log(Math.floor(-10.5));
        console.log(Math.floor(-10.51));
</script>

예시 4) ceil()

<script>
        'use strict'
        console.log(Math.ceil(10.49));
        console.log(Math.ceil(10.5));
        console.log(Math.ceil(-10.5));
        console.log(Math.ceil(-10.51));
</script>

예시 5) random()

<script>
        'use strict'
        let rm = Math.random();
        console.log(rm);
        console.log(rm * 10);
        console.log(Math.round(rm * 10));
        console.log(Math.ceil(rm * 10));
        // 가능 범위 : 1 ~ 10
        console.log(Math.floor(rm * 10) + 1);
        // 로또번호 1개
        const lotto = Math.floor(rm * 45) + 1;
        console.log(`1 ~ 45 로또번호 1개 추출 : ${lotto}`);
</script>

 

 

● String 객체 

자바스크립트에서 문자열을 손쉽게 만들 수 있는 객체입니다. 또한, 문자열을 쉽게 다룰수 있습니다.

 

const str = 'JavaScript';
const strObj = new String('JavaScript');        // 래퍼객체

(str == strObj);        // true
(str === strObj);        // false

 

* 문자열의 길이는 length 프러퍼티에 저장됩니다.

indexOf() 특정 문자나 문자열이 처음으로 등장하는 위치를 리턴합니다.
chatAt() 특정 문자열에서 전달 받은 인덱스에 위치한 문자를 리턴합니다.
includes() 특정 문자열에서 전달 받은 문자열이 포함되어 있는지 여부를 리턴합니다.
substring()  전달받은 시작 인덱스부터 종료 인덱스 바로 앞까지 문자열을 추출하여 새로운 문자열을 리턴합니다.
substr() 전달받은 시작 인덱스부터 전달받은 개수만큼 문자열을 추출하여 새로운 문자열을 리턴합니다.
split() 전달받은 시작 인덱스부터 전달받은 개수만큼 문자열을 추출하여 새로운 문자열을 리턴합니다.
replace() 구분자를 기준으로 나눈 후 나뉜 문자열을 하나의 배열에 저장합니다.
trim() 문자열의 앞뒤 공백을 제거합니다.
toUpperCase() 영문자 중 소문자를 모두 대문자로 변환합니다.
 toLowerCase() 영문자 중 대문자를 모두 소문자로 변환합니다.

 

예시 1) length

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        console.log(str1.length);
</script>

예시 2) indexOf()

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        console.log(str1.indexOf('j')); // 없기 때문에 -1 
        console.log(str1.indexOf('a')); // 중복될 경우 첫번째글자를 확인해준다.
</script>

예시 3) charAt()

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        console.log(str1.charAt(8));
</script>

예시 4) includes()

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        console.log(str1.includes('java')); // 대소문자 구분
        console.log(str1.includes('Java'));
</script>

예시 5) substring() / substr()

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        console.log(str1.substring(7)); // 7번부터 끝까지
        console.log(str1.substring(7, 11)); // 7-11번까지
        console.log(str1.substr(7, 4));
</script>

예시 6) division

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        let division = str1.split(" ");
        for(let str of division){
            console.log(str);
        }
</script>

예시 7) replace()

<script>
        'use strict'
        let str1 = '안녕하세요. JavaScript';
        console.log(str1.replace('안녕하세요.', 'Hello!'));
</script>

예시 8) trim()

<script>
        'use strict'
        let str2 = '            JavaScript                 ';
        console.log(`|${str2.trim()}|`);
</script>

예시 9) toLowerCase() / toUpperCase()

<script>
        'use strict'
        let str2 = '            JavaScript                 ';
        console.log(str2.toLowerCase());
        console.log(str2.toUpperCase());
</script>

 

 

● Data 객체 

시간, 날짜등을 쉽게 처리할 수 있습니다.

 

1. 연도(year)
        1) 1900 ~ 1999년 : 2자리로 표현 
        2) 2000 ~ : 4자리로 표현
2. 월(month)
        1월(0) ~ 12월(11)
3. 시(hour)
        0 ~ 24시
4. 분(minute)
        0분 ~ 59분
5. 초(seconds)
        0초 ~ 59초

 

* Date 객체 생성 *

new Date() 현재 날짜 시간을 저장한 객체 
new Date("날짜 문자열") 해당 특정 날짜와 시간을 가리키는 객체가 만들어집니다.
ex) "2020-09-16 15:20:00"
new Date("밀리초") 1970년 1월 1일 0시 ~ 해당 밀리초만큼 지난 날짜 객체가 만들어집니다.
new Date(년, 월, 일, 시, 분, 초, 밀리초) 해당 특정 날짜 시간을 가리키는 객체가 만들어집니다.

 

예시 1)

<script>
        'use strict'
        console.log(new Date());
</script>

예시 2)

<script>
        'use strict'
        console.log(new Date(20, 9, 16));   // 1920년 10월 16일
</script>

예시 3)

<script>
        'use strict'
        console.log(new Date(2020, 8, 16, 15, 30, 0));
</script>

예시 4)

<script>
        'use strict'
        console.log(new Date(2000000000000));
</script>

728x90
반응형