일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java
- @JUnit
- pointcut
- XML
- unix
- 마이바티스
- Spring Boot
- STS
- @AspectJ
- JdbcTemplate
- @test
- spring framework
- Linux
- java spring
- @Spring-Test
- spring
- Spring JDBC
- 컨테이너
- 프로퍼티
- 리눅스
- myBatis
- spring aop
- JDBC TEMPLATE
- Di
- SpringJDBC
- Ubunt
- POJO
- Dependency Injection
- AOP
- Framework
- Today
- Total
개키우는개발자 : )
자바스크립트 비교 연산자 본문
비교(Comparisons)
수학에서 사용하는 많은 연사자 기호들이 있다.
< 왼쪽보다 오른쪽이 크다
> 왼쪽이 오른쪽보다 크다
≤: 왼쪽보다 오른쪽이 크거나 같다.
≥: 왼쪽이 오른쪽보다 크거나 같다.
=: 같다.
≠: 등호에 / 를 그은 것으로 식이 성립되지 않을 때 사용한다. 예를 들어 1≠2와 같은 경우 저 기호를 사용할 수 있다.
자바스크립트에서도 비교 연산자 기호가 있다.
< 왼쪽보다 오른쪽이 크다
> 왼쪽이 오른쪽보다 크다
<=: 왼쪽보다 오른쪽이 크거나 같다.
>=: 왼쪽이 오른쪽보다 크거나 같다.
==: 같다.
!= : 등호에 / 를 그은 것으로 식이 성립되지 않을 때 사용한다. 예를 들어 1≠2와 같은 경우 저 기호를 사용할 수 있다.
= : 대입 연산자. a = b, a에 b의 값이 대입된다.
값의 결과 : Boolean
비교 값을 반환할 때 결과 값은 Boolean 값입니다.
true - '예', '정확함, '진실'을 의미합니다.
false - '아니오', '잘못' 또는 '진실이 아닙니다'를 의미합니다.
예 :
alert( 2 > 1 ); // true (correct)
alert( 2 == 1 ); // false (wrong)
alert( 2 != 1 ); // true (correct)
비교 결과는 모든 값과 마찬가지로 변수에 할당할 수 있습니다.
let result = 5 > 4; // assign the result of the comparison
alert( result ); // true
문자열 비교
alert( 'Z' > 'A' ); // true
alert( 'Glow' > 'Glee' ); // true
alert( 'Bee' > 'Be' ); // true
첫번째 피연산자 G 와 두번째 피연산자 G는 같습니다.
'G'.charCodeAt(); == 71
첫번째 피연산자 l 와 두번째 피연산자 l은 같습니다.
'l'.charCodeAt(); == 108
첫번째 피연산자 o 와 두번째 피연산자 e는 다릅니다
'o'.charCodeAt(); == 111 , 'e'.charCodeAt(); == 101
그렇기때문에 Glow > Glee == true
다른 유형의 비교
다른 유형의 값을 비교할 때 JavaScript는 값을 숫자로 변환합니다.
예 :
alert( '2' > 1 ); // true, string '2' becomes a number 2
alert( '01' == 1 ); // true, string '01' becomes a number 1
Boolean의 경우 1은 true 0은 false가 됩니다.
예 :
alert( true == 1 ); // true
alert( false == 0 ); // true
이런 식으로 쓰지 맙시다..
예 :
let a = 0;
alert( Boolean(a) ); // false
let b = "0";
alert( Boolean(b) ); // true
alert(a == b); // true!
엄격한 평등
비교 연산자 중 엄격한 동등성 검사 (===) 이 있다. 참고로 (!==) 도 있다.. 예제는 알아서
이경우는 값도 같고 서로 타입도 같아야 한다.
예 :
alert( 0 === false ); // false, because the types are different
alert( false === false ); // true, because the types are different
alert( '0' === 0 ); // false, because the types are different
alert( 0 === 0 ); // true, because the types are different
null 및 undefined 와의 비교
둘 다 값이 없다는 뜻이다.
하지만 서로 다른 유형이다.
alert( null === undefined ); // false
alert( null == undefined ); // true
null/undefined숫자로 변환도 가능하다 null 은 0 되고, undefined는 반면 NaN 된다.
null vs 0
점점 지옥으로 빠지는 거 같다.
null과 0을 비교해 보겠습니다.
alert( null > 0 ); // (1) false
alert( null == 0 ); // (2) false
alert( null >= 0 ); // (3) true
왜?.. null == undefined는 어떤 변환도 없이 서로 같고 다른 값과는 동등하지 않도록 정의됩니다.
그렇기 때문에 null == 0은 거짓인 이유입니다.
뭔 소리 임?..ㅋ
비교할 수 없는 undefined
alert( undefined > 0 ); // false (1)
alert( undefined < 0 ); // false (2)
alert( undefined == 0 ); // false (3)
undefined와 유일한 true는 null이다 엄격한 비교가 아닐 때.. 그래서 둘 다 0으로 비교할 때 false 가부다..
아몰랑
'JavaScript > JavaScript' 카테고리의 다른 글
JavaScript Functions (0) | 2019.11.03 |
---|---|
자바스크립트 코드 구조 및 주석 (0) | 2019.05.14 |
자바스크립트 스위치( switch ) 조건문 (0) | 2019.05.14 |
자바스크립트 연산자 (0) | 2019.05.11 |
자바스크립트 사용하기 (0) | 2019.05.10 |