javascript 기초

헨도·2022년 11월 9일
0

javascript

목록 보기
2/19

우선 순위

javascript 연산은 우선 순위가 높은 것부터 실행된다.

우선 순위 표

1 - 괄호 - ()
2 - 증감/논리 연산자/not - ++ -- !
3 - 산술 연산자 곱셈 - / %
4 - 산술 연산자 덧셈 - + -
5 - 비교 연산자 대소 - < <= > >=
6 - 비교 연산자 같음 - == === != !==
7 - 논리 연산자 and - &&
8 - 논리 연산자 or - ||
9 - 대입 연산자 - = += -=
= /= %=

ex)
3 ** 2 + 1 = 27이 되기 위해서는?
3 ** (2 + 1)
위 처럼 괄호를 적극 사용해야한다.

소수의 더하기와 빼기

0.3 - 0.1
>>> 0.1999999998

0.2 + 0.1
>>> 0.3000000004

why?
부동 소수점 문제 때문에 위 현상이 발생한다.
위 상황을 개선하기 위해서는 "소수를 정수로 바꿔 계산해준 뒤, 정수를 소수로 바꾼다."

(0.3 * 10 - 0.1 * 10) / 10;
>>> 0.2

Boolean

true 와 false 로 값을 반환하는 형태
true 와 false는 문자열이 아니기 때문에 따옴표로 감싸지 않는다.

숫자 비교하기

ex)
5 <= 4
>>> false

5 == 5
>>> true

NaN 비교하기

NaN은 NaN과 비교하면 false가 나온다.
그러나 같지 않다고 하면 true가 나온다.

NaN == NaN
>>> false

NaN != NaN
>>> true

문자열 비교하기

'ab' > 'a'
>>> true

첫 문자가 a 이므로, 두 번째 값을 비교한다.
그런데 ab에서 2번째 문자는 b지만, 'a'에는 2번째 문자가 없습니다.
이 경우에는 다음 문자가 존재하는 값이 더 큽니다.

문자열과 숫자 비교하기

'abc' < 5
>>> false

'3' < 5
>>> true

문자열은 NaN이기 때문에, NaN과의 비교는 모두 false이다.
그리고 숫자와 비교하는 문자열은 정수로 바뀌어 비교된다.

문자의 번호 알아보기

문자의 번호를 알아보려면 .charCodeAt을 사용한다.
찾고자 하는 문자열 뒤에 .charCodeAt()을 붙이면 문자의 번호가 나온다.

'a'.charCodeAt()
>>> 97

== 과 === 차이

자료형이 다른 경우에는 형 변환을 한 후 비교하기 때문에 앞의 예제에서 모두 true가 출력된다.
이러한 특성은 외우기도 힘들 뿐더러 값을 비교하려는 취지에 맞지 않는 경우도 있다.
그래서 자료형까지 같은지 비교하는 연산자는 따로 있다.
바로 ===이다.
값을 비교할 때 뿐만 아니라 자료형까지도 같은지 비교한다.

'1' === 1;
>>> false

1 === true;
>>> false

1 === '1';
>>> false

1 === '1';
>>> true

1 != '1';
>>> false

1 !== '1'
>>> true
profile
Junior Backend Developer

0개의 댓글