Math 메소드, 문자열
FE BE 개발 메모장/Javascript

Math 메소드, 문자열

 


Number()

Number 객체는 Number() 함수를 이용해 문자열을 숫자로 바꿔주는 역할을 한다.

let num = '2020'
console.log(Number(num)) // 2020

let num = '2020년도' 
console.log(Number(num)) // NaN

하지만, 문자열 내에 숫자와 문자를 같이 쓰게 되면 NaN 을 결과로 출력한다. 

 

즉, Number는 숫자 원시 값을 위한 객체입니다. 모든 원시 값은 불변하며, 문자열과 숫자를 혼용할 경우 NaN을 출력하게 된다.

 

ParseInt()

parseInt() 함수는 문자열 인자를 구문분석하여 특정 진수의 정수를 반환한다.

let num = '2020'
console.log(parseInt(num)) // 2020

let num = '2020년도' 
console.log(parseInt(num)) // 2020

하지만 parseInt에도 한계점이 존재한다. 소숫점 이하를 내림처리 하여 출력하고, 문자열이 숫자 보다 앞에 쓰일경우 NaN을 출력하게 된다.

let num = '10.92'
console.log(parseInt(num)); // 10

let num = '올해 2020년'
console.log(parseInt(num)); // NaN

 

MDN 교본에서는 Math.floor를 대체해서 사용하면 안된다고 작성되어있다.

 

Javascript에서 Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체이므로 함수 객체가 아니다.

 

문자열 

length는 문자열의 길이를 숫자로 반환한다.

//문자열 길이 
let string = 'Microsoft Edge'
string.length; // 14

//문자열 길이 더하기

function stringLength(string1, string2){

    return string1.length + string2.length
}

stringLength('Steam','Remote'); // 11

//두개의 문자열 길이를 더해 평균 값을 구하기

function stringLength(string1, string2){
	let averageString = (string1.length + string2.length) / 2 
    return averageString;
}

//이때 Math함수를 이용해 내림차순, 오름차순, 반올림 값을 구할 수있다.

return Math.floor(averageString) (내림)
return Math.celi(averageString)  (올림)
return Math.round(averageString) (반올림)

console.log(string1 + string2);	
             123    +  '123';  // "123123"
      숫자 타입과 문자열 타입의 숫자를 더하게되면 문자열로 합쳐진다
      

특정 문자열 찾기

특정문자열은 변수명 뒤에 대괄호 표기법을 이용하여 찾고자 하는 문자열의 위치를 숫자를 입력하면 해당 문자를 반환하게 됩니다.

var strIndex = 'Microsoft'
strIndex[0] // M
strIndex[3] // r

컴퓨터는 0부터 숫자를 셉니다. 만약 마지막 문자부터 역순으로 반환하려 한다면 한가지 방법을 쓸 수 있습니다. MDN의 예시로도 문자열 "Microsoft"를 역순으로 불러온다면 length -1을 사용해 주면 마지막 글자를 불러 올수있습니다.  

//9개의 글자
 M  I  C  R  O  S  O  F  T
[0][1][2][3][4][5][6][7][8]

//여기서 length-1을 사용합니다

vat str = 'MICROSFT'
str[str.lenght-1]; // "T"
str[str.lenght-2]; // "F"
str[str.lenght-3]; // "S"

 

indexOf전체 문자열 안의 특정 문자열을 찾아 반환합니다. 예를 들면 아래와 같습니다.

//index of 예시
var cheat = 'show me the money';

cheat.indexOf('money'); // 12

//만약 잘못된 문자열을 입력할 경우

cheat.indexOf('nmoney'); // -1

찾고자 하는 문자열내에서 잘못된 문자를 입력할 경우 -1로 반환합니다.

 

substring() 와 slice() 문자열 내에서 부분 문자열의 시작과 끝을 추출하는 함수입니다. substring과 크게 차이가 나지 않지만 미묘한 부분에선 차이가 납니다.

//substring() 예시
var cheat = 'operation cwal';

cheat.subString(2,5); // "era" 
cheat.substring(5,2); // "era"

//slice() 예시

cheat.slice(2,5); // "era"
cheat.slice(5,2); // ""

//slice, substring 매개변수
cheat.substring(-5, 9) // "operation"
cheat.substring(4) // "ation cwal"
cheat.slice(-2,) // "al"
cheat.slice(-5) //" cwal"

 역순으로 입력하게 되면 substring와 slice는 출력값이 서로 다릅니다.

 

 substring()은 매개변수로 시작 인덱스인 indexStart와 마지막 인덱스 indexEnd가 있습니다. 시작 부분을 제외한 전체 문자를 반화할 경우엔 indexEnd를 생략해도 됩니다.

 slice()는 0으로부터 시작하는 시작 인덱스 beginIndex와, 마지막 인덱스 endIndex의 매개변수로 나뉩니다. 만약 beginIndex가 문자열 길이보다 길거나 같을 경우, 빈 문자열로 출력이 됩니다.

 

toUpperCase(),toLowerCase()문자열을 [대],[소]문자로로 바꿔줍니다.

//substring() 예시
var device = 'laPTop';

device.toUpperCase() ; // LAPTOP
device.toLowerCase() ; // laptop

 

replace() 전체 문자열 내의 일부 문자열을 다른 문자열로 바꿀수 있습니다. 이 메소드는 2개의 매개변수를 가집니다.

 

이스케이프 시퀀스

\b 백 스페이스
\t 수평 탭
\v 수직 탭
\n 개행
\r 복귀
\f 폼 피드
\' 싱글 쿼테이션
\" 더블 쿼테이션
\\ \문자
\0 NULL문자
\xXX 2글자 (16진수)가 표시된 Latin-1 문자
\uXXXX 4글자 (16진수)가 표시된 Unicode 문자

 

 

 

'FE BE 개발 메모장 > Javascript' 카테고리의 다른 글

조건문 if() {  (0) 2020.10.06
연산자  (0) 2020.10.04
반복문 for, while  (0) 2020.09.30
산술 연산자에서 %가 하는 일  (0) 2020.09.16
자바스크립트 변수와 함수의 기초를 공부하다.  (0) 2020.09.15