본문 바로가기

학원/복기

[JavaScript] Number 클래스 함수 / String 클래스 함수

Number 클래스 함수


숫자값이 저장된 객체를 생성하기 위한 클래스 함수이며 Number 클래스 함수의 프로퍼티와 메소드를 제공한다.


 

매개변수에 전달된 숫자값이 저장된 Number 객체를 생성하여 변수에 저장

 

var num=new Number(100);

 


매개변수에 문자값을 전달해도 숫자값으로 변환되어 저장된다. 

 

var num=new Number("100");

 

var num=new Number(100);
var num=new Number("100");

console.log("변수의 자료형 = "+typeof(num));//변수의 자료형 = object

 


 

Number.toString() : Number 객체에 저장된 숫자값을 문자값으로 변환하여 반환하는 메소드

 

alert("num.toString() = "+num.toString());//num.toString() = 100

//Number 객체가 저장된 변수를 출력하면 자동으로 toString() 메소드를 호출한다.
alert("num = "+num);//num = 100

 

다음과 같은 예시에서는 toString을 꼭 사용해야 한다.

 

Number.toString(radix) : Number 객체에 저장된 숫자값을 매개변수로 전달받은 진수 형태의 문자값으로 변환하여 반환하는 메소드 

 

alert("16 진수 = "+num.toString(16));
alert("8 진수 = "+num.toString(8));
alert("2 진수 = "+num.toString(2));

 


 

Number.valueOf() : Number 객체에 저장된 숫자값을 반환하는 메소드 

 

var su = num.valueOf();
alert("변수의 자료형 = "+typeof(su));//변수의 자료형 = number
alert("su = "+su);//su = 100

 

 


자바스크립트는 모든 값을 객체로 표현하여 처리한다.

따라서 number 자료형의 변수에 저장된 값은 내부적으로 Number 객체로 처리된다. 
 number 자료형의 변수는 숫자값을 이용해 Number 클래스 함수의 프로퍼티와 메소드를 사용할 수 있다. 

 

alert("su.toString(2) = "+su.toString(2));//su.toString(2) = 1100100

 


 

Number 객체와 number 자료형의 변수의 차이

 

Number 객체에는 요소(프로퍼티 또는 메소드) 추가가 가능하다.

 

var num=new Number(100);
alert("num = "+num);//num = 100 
num.display=function() {//Number 객체에 요소(메소드) 추가 
	alert("Number 객체에 display() 메소드 호출");
}
num.display();//메소드 호출 가능 - num = 100

 

number 변수는 객체가 아니므로 요소(프로퍼티 또는 메소드) 추가가 불가능하다.

 

var num=100;
alert("num = "+num);//num = 100
num.display=function() {
	alert("Number 객체에 display() 메소드 호출");
}
num.display();//에러발생

 


 

Number.toFixed(digits) 
: Number 객체에 저장된 숫자값에서 매개변수로 전달받은 소숫점 자릿수(0~20)까지 잘라내어 문자값으로 변환하여 반환하는 메소드 
→ 자릿수 뒤의 값을 이용하여 반올림 처리한다.

 

var num=12.3456789;
alert("num = "+num);//num = 12.3456789
 
alert("num.toFixed(0) = "+num.toFixed(0));//num.toFixed(0) = 12
alert("num.toFixed(1) = "+num.toFixed(1));//num.toFixed(1) = 12.3
alert("num.toFixed(2) = "+num.toFixed(2));//num.toFixed(2) = 12.35

 


 

Number(string) : 매개변수로 전달받은 문자값을 숫자값으로 변환하여 반환하는 함수 (강제형변환할 때 사용한다.)

 

var num="100";
alert("변수의 자료형 = "+typeof(num));//변수의 자료형 = string
alert("결과 = " + (num+200));//결과 = 100200 - 문자값 결합 

alert("결과 = "+(Number(num)+200));//결과 = 300

 

Number.Max_VALUE / Number.Min_VALUE

 

alert("자바스크립트에서 표현 가능한 최대 숫자값 = "+Number.MAX_VALUE);
alert("자바스크립트에서 표현 가능한 최소 숫자값 = "+Number.MIN_VALUE);

 


String 클래스 함수


문자값이 저장된 객체를 생성하기 위한 클래스 함수이며 String 클래스 함수의 프로퍼티와 메소드를 제공한다.

 


 

매개변수에 전달된 문자값이 저장된 String 객체를 생성하여 변수에 저장 

 

var str = new String("Hello, JavaScript!");
alert("변수의 자료형 = "+typeof(str));//변수의 자료형 = object

 


 

String.toString() : String 객체에 저장된 문자값을 반환하는 메소드 

alert("str.toString() = "+str.toString());//str.toString() = Hello, JavaScript!

//String 객체가 저장된 변수를 출력하면 toString() 메소드가 자동으로 호출된다.
alert("str = "+str);//str = Hello, JavaScript!

 


 

String.length() : String 객체에 저장된 문자값의 문자 갯수를 저장한 프로퍼티 

alert("str.length = "+str.length);//str.length = 18

 


 

String.charAt(index) : String객체에 저장된 문자값에서 매개변수로 전달받은 첨자 위치의 문자를 반환하는 메소드 

 

alert("str.charAt(7) = "+str.charAt(7));//str.charAt(7) = J

 

문자값은 내부적으로 배열처럼 처리되기 때문에 [] 연산자로 첨자를 사용하여 요소값(문자)를 사용할 수 있다.

 

alert("str[7] = "+str[7]);//str[7] = J

 


 

String.indexOf(string) : String 객체에 저장된 문자값에서 매개변수로 전달받은 문자값을 검색하여 시작첨자를 반환하는 메소드

→ 검색 문자값이 없는 경우 -1을 반환

 

alert("str.indexOf('script') = "+str.indexOf('script'));//str.indexOf('script') = -1
alert("str.indexOf('Script') = "+str.indexOf('Script'));//str.indexOf('Script') = 11

 


 

String.replace(search, replace) : String 객체에 저장된 문자값에서 매개변수로 전달받은 첫번째 문자값을 검색하여 두번째 문자값으로 변경하여 반환하는 메소드

 

alert("str.replace('Hello', 'Hi') = "+str.replace('Hello','Hi'));
//str.replace('Hello', 'Hi') = Hi, JavaScript!

 


 

String.toUpperCase() : String 객체에 저장된 문자값을 대문자로 변환하여 반환하는 메소드
String.toLowerCase() : String 객체에 저장된 문자값을 소문자로 변환하여 반환하는 메소드

 

alert("str.toUpperCase() = "+str.toUpperCase());//str.toUpperCase() = HELLO, JAVASCRIPT!
alert("str.toLowerCase() = "+str.toLowerCase());//str.toLowerCase() = hello, javascript!

 


 

String.substring(from, to) : String 객체에 저장된 문자값을 매개변수로 전달받은 시작첨자(from-포함)부터 종료첨자(to - 미포함)까지의 문자값을 잘라내어 반환하는 메소드 

 

alert("str.substring(7,11) = "+str.substring(7,11));//str.substring(7,11) = Java

 

String.substr(from, length) : String 객체에 저장된 문자값을 매개변수로 전달받은 시작첨자(from-포함)부터 길이(length)만큼 문자값을 잘라내어 반환하는 메소드 

 

alert("str.substr(7,4) = "+str.substr(7,4));//str.substr(7,4) = Java

 


 

String.split(pattern) : String 객체에 저장된 문자값을 매개변수로 전달받은 문자값으로 구분 분리하여 Array 객체로 반환하는 메소드

 

var [str1,str2] = str.split(" ");//구조분해할당을 사용하여 Array 객체의 요소값을 변수에 저장
alert("str1 = "+str1+" >> str2 = "+str2);//str1 = Hello, >> str2 = JavaScript!

 


 

string 변수에 저장된 문자값은 내부적으로 String 객체로 처리되므로 프로퍼티 및 메소드 사용이 가능하다.

 

var str="ABCDEFG"; 
alert("변수의 자료형 = "+typeof(str));//변수의 자료형 = string

 

 

alert("str.length = "+str.length);//str.length = 7