☭DEVELOPER/#4 자바스크립트

자바스크립트 | 레츠기릿 자바스크립트 7

조반짝 2024. 1. 9. 15:47
728x90
반응형

연산자 우선순위 이해하기


컴퓨터로 계산할 때는 숫자 두 개만 계산하기 보다는 여러개를 동시에 계산하는 경우가 더 많다.

연산자로 우선순위대로 계산이 된다.

 

자바스크립트는 정수, 실수가 따로 나뉘어 있지 않다.

하지만 실수 연산을 할 때는 조심할 점이 있다.

 

0.1 + 0.2 를 더하면 0.3이 아니라 결과가 이상하게 출력된다.

컴퓨터는 0과 1밖에 알지 못한다. 그런데 2진법으로 실수를 표현하면 무한 반복되는 실수가 있어서 어쩔 수 없이 근사값으로 저장한다.

그래서 우리가 사용하는 10진법과 차이가 발생한다 이러한 현상을 부동소수점 문제라고 한다.

이외에도 다양한 실수 연산에서 오차가 발생하므로 실수르 계산할 때 다른 방법을 주로 사용한다.

가장 간단한 방법은 실수를 정수로 .

꾸는 실수로 다시 마지막에 뒤 계산한 바꿔서 계산한 뒤 마지막에 다시 실수로 바꾸는 것이다.

 

  • 불 값 boolean

부동소수점 문제를 설명하면서 컴퓨터는 0과 1밖에 모른다고 했다.

1과 0은 참(true)과 거짓(false)에 대응한다.

자바스크립트에서도 true와 false를 나타내는 불값(boolean)이라는 자료형이 있다.

 

  • 불 값 표현하기

불 값을 표현할 때는 따옴표로 감싸지 않고 true와 false를 입력한다.

typeof 를 앞에 붙여보면 콘솔에 'boolean'이라는 값이 출력된다. 값의 자료형이 불 값이라는 뜻이다.

  • 비교 연산자 사용하기

참과 거짓은 논리식의 결과값으로 주로 사용된다. 예를들어 숫자를 비교할 때 결과값으로 불 값이 나온다.

비교 연산자에는 초과, 미만, 이상, 이하를 나타내는 연산자 말고도 두 값이 같음과 같지 않음을 나타내는 연산자도 있다.

== 는 양쪽 값이 같은지 비교하는 연산자, != 는 양쪽 같이 다른지 비교하는 연산자이다.

 

5 = 5 는 대입

5 == 5 5와 5는 같다

5 != 6 5와 6은 같지 않다.

 

 

  • NaN끼리 비교하기

값 중에서 NaN은 비교할 때 독특한 성질을 띈다. 바로 NaN끼리 비교할 때 false 값을 가진다는 것이다.

이는 숫자, 문자열, 불 값을 통틀어 false가 나오는 유일한 값이다.

<= 나 >= 연산자를 써도 결과는 false만 나온다. NaN 은 비교 연산에서 false를 출력한다고 알아두자! 

다만 != 연산에서는 true 를 출력한다.

  • 불 값 비교하기

true가 false 보다 큰 값이라는 것을 기억하자!

true 는 숫자는 변환하면 1 이고, false는 숫자로 변환하면 0이다.

  • 문자열 비교하기

기본으로 문자의 번호를 따른다. 문자의 번호가 클수로 값이 크다.

첫문자가 같은 글자일 때는 첫문자를 빼고 나머지를 다시 비교한다.



b가 a보다 문자번호가 크다(b는 98, a는 97)

첫 문자인 a가 서로 같으므로 다음 문자르 비교한다. b와 d 중에서 d가 값이 더 크다 (d는 100)

특수문자도 마찬가지로 문자열과 크기 비교가 된다.

 

  • 문자의 번호 알아보기

문자의 번호를 알아보려면 charCodeAt을 사용한다.

찾고자 하는 문자열 뒤에 .charCodeAt()을 붙이면 문자의 번호가 나온다.

  • 문자열과 숫자의 크기 비교하기

빼기 연산자 때처럼 다른 자료형이 모두 숫자로 형 변환 된 후 비교한다.

따라서 문자열 3은 숫자 3이 되어 5보다 작다는 것이 성립된다.

 

'abc'를 숫자로 바꾸면 NaN이 된다. NaN 과의 비교는 false 이므로 결과값이 false 가 된다.

 

불값도 비교 연산을 할 때는 숫자로 형변환 된다.

문자열 0 도 숫자 0으로 형 변환되고, true도 숫자 1로 형변환 된다. 따라서 결과값은 true 이다. 

 

  • == 와 === 차이

자료형이 다른 경우에는 형 변환을 한 후 비교하기 때문에 다음과 같이 모두 true가 출력된다.

자료형까지 같은지 비교하는 연산자는 === 이다.

값을 비교할 때 값 뿐만 아니라 자료형까지도 같은지 비교한다.

 

 

728x90
반응형