자바스크립트/개념정리

8. 내장객체

pcy 2022. 9. 19. 17:56

내장 객체 (build-in object)

: 기존에 존재하는 객체

 

1.래퍼 객체 (wrapper object)

: 원시타입의 값을 감싸서 마치 객체처럼 사용할 수 있도록 하는 역할

 

 1)Number 객체 : number 타입에서 사용 가능한 내장객체

 2)String 객체 : string 타입에서 사용 가능한 내장객체

 

script
 
const nn = 1234;    //typeof : number(숫자열)
console.log(nn);     //1234 그냥 출력 (넘버타입)
console.log(nn.toString());     //숫자>문자열로 변환
// nn뒤에 .을 찍어 보면 사용할 수 있는 매서드가 뜬다
// 숫자 원시타입을 감싸고 있는 Number 객체로 감싸짐

const tt = '    글씨          ';    //typeof : string (문자열)
console.log(tt);    //
console.log(tt.length);     //String 객체 - 문자갯수를 입력 : 16
console.log(tt.trim());     //String 객체 - 여백을 없애주는 매소드
 

 

 

 

2.global

: 특정 객체에 속하지 않는 프로퍼티와 매서드, 최상위 객체

 -오브젝트를 통하지 않고 바로 호출 가능

 -프로그램이 꼬일 수 있어서 권장하지 않음

 

script
 
console.log(globalThis);    //node에서 사용할 수 있는 글로벌 객체
console.log(this);      //모듈에 있는 정보를 출력(현재는 아무것도 없음)

eval('const num=2;console.log(num)');
// 문자열 형식으로 작성하면 값으로 평가해서 출력

console.log(isFinite(5));   //true
console.log(isFinite(Infinity));   //false
// 숫자가 유한인지 아닌지 확인

console.log('-12.34');                      //문자열
console.log(parseFloat('-12.34'));          //문자열이지만 숫자가 있으면 숫자로 변환
console.log(parseInt('-12.34'));            //문자열이지만 숫자가 있으면 정수부분만 숫자로 변환

// URI(Uniform Resource Identifier, 인터넷식별자) > URL
// 아스키 문자로만 구성 되어야 함
// 한글이나 특수문자는 이스케이프 처리한다

const URL = 'http://네이버.com';

const enURL = encodeURI(URL);    //아스키 문자로 전환 (인코딩)
console.log(enURL);

const deURL = decodeURI(URL);
console.log(deURL);
 

 

 

 

 

3.Number

 

script
 
const num1 = 123;
const num2 = new Number(123);
console.log(num1);              //123
console.log(num2);              //[Number: 123]
console.log(typeof num1);       //number
console.log(typeof num2);       //object

console.log('사용할 수 있는 가장 큰 값',Number.MAX_VALUE);
// 정수에서 사용할 수 있는 가장 큰 값
// e+308 = 10 308승
console.log('사용할 수 있는 가장 작은 값',Number.MIN_VALUE);
// 정수에서 사용할 수 있는 가장 작은 값
// 5e-324

console.log('안전하게 사용할 수 있는 가장 작은 값',Number.MIN_SAFE_INTEGER);
// -9007199254740991
console.log('안전하게 사용할 수 있는 가장 큰 값',Number.MAX_SAFE_INTEGER);
// 9007199254740991

const num3 = 1234.56;
console.log('숫자열',num3);      
console.log('그냥 문자열로 변환',num3.toString());
console.log('문자열로 변환 + 실수를 반올림',num3.toFixed());
console.log('이집트, 각국의 언어로 표현',num3.toLocaleString('ar-EG'));

console.log('===============');

console.log('원하는 자릿수 까지 유효하도록 반올림',num3.toPrecision(5));
console.log('2자릿수까지',num3.toPrecision(2));
 

 

 

 

4.Math

 

script
 
// 소수점 다루기
console.log(Math.PI);                                               //3.141592653589793
console.log('절대값',Math.abs(-152.8));                             //152.8
console.log('소수점 이하를 내림',Math.floor(1.23456));              //1
console.log('소수점 이하를 올림',Math.ceil(1.123));                 //2
console.log('반올림',Math.round(1.423));                            //1
console.log('정수만 반환(소수점 이하 버림)',Math.trunc(1.923));     //1

// 최대값,최소값 구하기
console.log('최대값을 반환',Math.max(1,3,9));                       //9
console.log('최소값을 반환',Math.min(1,3,9));                       //1

// 제곱근 구하기
console.log('9의 제곱근은?',Math.sqrt(9));                          //3

console.log('=========================')

//랜덤값을 반환하기
console.log('랜덤값을 반환',Math.random());                         //랜덤 0~1사이의 소수

const random10 = Math.random()*10+1
console.log('1~10 랜덤값을 반환',Math.floor(random10));             //1~10

const random3 = Math.random()*4
console.log('0~3 랜덤값을 반환',Math.floor(random3));               //0~3
 

 

 

 

5.string

 

script
/*
문자열

*/
const textObj = new String('Hello World!');     //객체로
const ttt = 'Hello Korea!'                      //원시타입으로
console.log(textObj);                           //[String: 'Hello World!']
console.log(ttt);                               //Hello Korea!

// .을 찍으면 사용가능한 모든 프로퍼티와 매서드를 살펴볼 수 있다.
console.log('ttt의 문자 수는?',ttt.length);     //12

// 배열처럼 인덱스를 이용해서 몇번째 문자인지 알아올 수 있다.
console.log('첫번째 문자',ttt[0]);              //H
console.log('다섯번째 문자',ttt.charAt(4));            //H

console.log('앞에서 가까운 l은 몇번째 있는 문자?',ttt.indexOf('l')+1);    //3
console.log('뒤에서 가까운 l은 몇번째 있는 문자?',ttt.lastIndexOf('l')+1);    //4   뒤에서부터 확인 후에 먼저 확인되는 문자의 인덱스 위치를 출력

//특정 문자를 찾을 때
console.log('특정문자가 있는지 확인(블린)',ttt.includes('Ko'));         //true

//특정문자로 시작하는지 (대소문자 구분)
console.log('특정문자 h로 시작하는지 (블린)',ttt.startsWith('H'));      //true
console.log('특정문자 h로 시작하는지 (블린)',ttt.startsWith('h'));      //false

//특정문자로 끝나는지 (대소문자 구분)
console.log('특정문자 !로 끝나는지 (블린)',ttt.endsWith('!'));      //true

// 대,소문자 변환
console.log('대문자로 변환',ttt.toUpperCase());             //HELLO KOREA!
console.log('소문자로 변환',ttt.toLowerCase());             //hello korea!

//원하는 문자수만큼 앞에서부터 자르기
console.log('앞에 문자 2개 자르기',ttt.slice(2));           //llo Korea!

//원하는 문자수만큼 뒤에서 가져오기
console.log('앞에 문자 2개 자르기',ttt.slice(-2));           //a!

// 공백 제거하기
const aa = '          space       '
console.log('공백 포함',aa);            //          space      
console.log('공백 제거',aa.trim());     //space

// 특정 단어로 구분해서 배열화 시키기
const longTxt = 'Fly to the moon';
console.log('공백을 기준으로 끊어서 배열화 시키기',longTxt.split(' '));     //[ 'Fly', 'to', 'the', 'moon' ]
console.log('공백을 기준으로 끊어서 배열화 시키고, 2개만 가져오기',longTxt.split(' ',2));   //[ 'Fly', 'to' ]


 

 

 

 

'자바스크립트 > 개념정리' 카테고리의 다른 글

7. 클래스  (0) 2022.09.15
6. 객체 (Object)  (0) 2022.09.14
5. 함수 (Function)  (0) 2022.09.14
4. 제어문 (control statement)  (0) 2022.09.07
3. 연산자 (operator)  (0) 2022.09.07