JavaScript 데이터 - 문자열, 숫자와 수학

2022. 2. 15. 22:46공부/Javascript

리터럴 방식

일반적으로 어떤 객체를 만들 때는 new 키워드를 이용해 생성해야 한다.

그러나 "", (), [], {} 등 기호만으로 new 키워드를 생략하고 생성하는 방식이 존재하는데 그것이 바로 리터럴 방식이다.

 

문자열

stt = new String('Hello World!')
console.log(stt) // 결과: Hello World!

const result = 'Hello world!'.indexOf('e')
console.log(result) // 결과: 1

const str = '0 1 2 3'
console.log(str.length) // 결과: 7
console.log(str.split(' ').length) // 결과: 4

new String() 으로 선언한 것과 리터럴 방식으로 ' '을 이용해 선언한 방식 모두 동일하다.

리터럴 방식 뒤에 prototype류 메소드들을 사용할 수 있다. indexOf가 바로 그 예시.

const str1 = 'Hello World!'
console.log(str1.indexOf('Riam') === -1) // 결과: true (찾지 못하면 -1 반환)
console.log(str1.slice(0, 3)) // 결과: Hel
console.log(str1.slice(7,)) // 결과: orld!
console.log(str1.replace(' world!', '')) // 결과: Hello

indexOf(찾는요소, 시작지점)의 경우 찾는 데이터의 위치를 반환하고 없으면 -1을 반환한다.

slice(시작지점, 끝지점)의 경우 시작지점부터 끝지점-1값 까지의 데이터를 반환한다.

replace(대상, 내용)의 경우 첫번째 인수를 문자열에서 찾아 2번째 인수로 교체한다.

const str2 = 'riam@tistory.com'
console.log(str2.match(/.+(?=@)/)) // 정규표현식 사용.
// 결과: ['riam', index: 0, input: 'riam@tistory.com', groups: undefined]
console.log(str2.match(/.+(?=@)/)[0])
// 결과: riam

const str3 = '         Hello world    '
console.log(str3) // 결과:          Hello world    
console.log(str3.trim()) // 결과: Hello world

str2의 예시는 정규표현식을 사용하여 이메일 이름 부분을 추출하는 것이다.

(?=@)는 골뱅이 기호의 앞부분을 의미하며

. 은 문자 하나를, +는 최대한 많이 라는 의미이다.

따라서 골뱅이 기호 앞부분의 문자 1개 이상을 전부 반환하라는 의미이며

match()는 정규식과 매치되는 부분을 검색하는 메소드다.

trim()은 문자열 양 끝의 공백을 제거하는 메소드다.

 

숫자 및 수학

const pi = 3.14159265358979
console.log(pi) // 결과: 3.14159265358979

const str4 = pi.toFixed(2) // toFixed는 문자열 데이터를 반환함. 자릿수 이하는 내림.
console.log(str4) // 결과: 3.14
console.log(typeof str4) // 결과: string

const integer = parseInt(str4) // 전역함수. 소수점 이하 버림
const float = parseFloat(str4)
console.log(integer)
console.log(float)
console.log(typeof integer, typeof float)

toFixed()는 매개변수의 값만큼 소수점 이하 자리를 확보한 후 나머지를 버린다.

그러나 반환하는 자료형이 string이므로 parseInt() 함수를 이용하여 정수형으로 바꿔줘야 계산이 가능하다.

Math함수 메소드들의 대표적인 예시는 아래와 같다.

console.log('abs: ', Math.abs(-12)) // 절대값 반환
//결과: 12

console.log('min: ', Math.min(2, 8))
//결과: 2

console.log('max: ', Math.max(2, 8, 9))
//결과: 9

console.log('ceil: ', Math.ceil(3.14)) // 정수를 기준으로 올림
//결과: 4

console.log('floor: ', Math.floor(3.14)) // 정수를 기준으로 내림
//결과: 3

console.log('round: ', Math.round(3.14)) // 정수를 기준으로 반올림
//결과: 3

console.log('random: ', Math.random())
//결과: 0.12838323(랜덤)

'공부 > Javascript' 카테고리의 다른 글

JavaScript 데이터 - 객체(Object)  (0) 2022.02.17
JavaScript 데이터 - 배열  (0) 2022.02.16
클래스  (0) 2022.02.10
JS 함수  (0) 2022.02.09
연산자  (0) 2022.02.09