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 |