포스트

08. 형변환, 연산자

1) 문자열 → 숫자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
✔️ 요소의 내용 또는 값을 얻어오면 기본적으로 문자열(string)로 인식됨
➡️ 산술 연산에서 덧샘 같은 경우 '더하기'가 아니라 '이어쓰기'가 되는 문제 발생

Number(문자열)
"정수" → 정수 ("123" → 123)
"실수" → 실수 ("3.14" → 3.14)

parseInt(문자열)
"정수" → 정수 ("123" → 123)
"실수" → 정수 ("3.14" → 3) // 소수점 버림

parseFloat(문자열)
"정수" → 정수 ("123" → 123)
"실수" → 실수 ("3.14" → 3.14)

2) 동등 비교 / 동일 비교 연산자

1
2
3
4
5
6
7
✔️ 동등비교 연산자 ( == , != )
값이 같으면 true (자료형 관계 없음)

ex) 1 == "1" == true ➡️ true

✔️ 동일비교 연산자 ( ===, !== )
값과 자료형이 모두 같으면 true

3) 문자열(string) 내장 함수

1
2
3
4
5
6
7
8
9
10
11
12
string.indexOf("찾고싶은문자열")
- string 내에서 "찾고싶은문자열"의 시작 인덱스를 반환 없으면, -1 반환

string.lastIndexOf("찾고싶은문자열")
- 뒤에서부터, string 내에서 "찾고싶은문자열"의 시작 인덱스를 반환, 없으면 -1 반환

string.substring(index1, index2)
- 문자열의 index1 부터 index2 전까지의 문자열을 잘라서 반환

string.split("구분자")
- 문자열을 "구분자"를 기준으로 나누어 배열로 반환
* 문자열.split("") ➡️ 문자열이 한 글자 모두 나누어져 배열로 반환

4) 숫자(number) 타입 리터럴 표기법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
123(정수), 9.321(실수), NaN(Not a Number), Infinity(무한)

숫자 관련 내장 객체 : Math

✔️ Math.random() : 0 이상 1 미만의 난수 발생

(소수점 첫째자리에 적용)
Math.ceil(값) : 올림
Math.floor(값) : 내림
Math.trunc(값) : 버림
Math.round(값) : 반올림

숫자.toFixed(자릿수) : 숫자를 지정된 자릿수까지 반올림해서 표현
ex) (3.45).toFixed(1) ➡️ '3.5'

✔️ isNaN(값)
값이 숫자가 아니면 false, 숫자면 true

5) 배경색 랜덤으로 바꾸기