Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 중복되지 않는 값 만들기
- 자바 ORM 표준 JPA 프로그래밍
- 유효성검사
- ORM
- msa
- 게시판 작성자를 아이디로
- java
- Thymeleaf
- 공백검사
- 스프링 시큐리티
- 관계형 데이터베이스
- 모던 자바스크립트 Deep Dive
- JPA
- spring security
- 자바
- 출처 모던 자바스크립트 Deep Dive
- UUID
- 자바스크립트
Archives
- Today
- Total
인지용
자바스크립트 연산자 (1) 본문
연산의 대상을 피연산자라 한다.
피연산자는 값으로 평가될 수 있는 표현식이어야 한다.
즉 값이 있는 변수이거나, 함수여도 리턴 값이 있는 함수여야 함
+ 연산자
문자열 ‘1’ 앞에다가 + 하면
숫자 타입으로 변환하여 반환한다.
( 문자열을 숫자로 변환할 수 없을 땐 NaN을 반환 )
이때 피연산자를 변경하는 것은 아니고
숫자 타입으로 변환한 값을 생성해서 반환한다
1 + true를 연산하면 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환돼서
true를 숫자 타입인 1로 강제 변환시킨 후 계산한다.
이를 암묵적 타입 변환 or 타입 강제 변환이라고 한다.
동등 비교(==) 연산자와 일치 비교(===) 연산자
동등 비교(==) 연산자는
비교할 때 암묵적 타입 변환을 통해
타입을 일치시킨 후 같은 값인지 비교.
단점 : 편리한 경우도 있지만 결과를 예측하기 어렵다
일치 비교(===) 연산자는
타입도 같고 값도 같은 경우에만 true를 반환한다.
따라서 예측하기 쉽다.
하지만
0 === -0 // true
0 == -0 // true
이런 결과가 나오기 때문에
정확한 비교 결과를 원하면
ES6에서 도입된 Object.is 메서드를 사용하는 게 좋다.
Object.is(0, -0) // false
IsNaN 함수
NaN은 자신과 일치하지 않는 유일한 값이다.(NaN == NaN -> false)
따라서 숫자가 NaN인지 확인하려면
빌트인 함수 isNaN을 사용한다. isNaN(NaN);
isNaN(NaN, NaN); // true
Object.is 함수도 사용가능
Object.is(NaN, NaN); // true
출처 : 모던 자바스크립트 Deep dive
'자바스크립트' 카테고리의 다른 글
자바스크립트 타입 변환과 단축 평가 (0) | 2021.09.23 |
---|---|
자바스크립트 연산자 (2) 삼항 조건 연산자, 논리 부정 연산자, 지수 연산자 (0) | 2021.09.23 |
자바스크립트 변수 사용시 주의사항 (0) | 2021.09.11 |
자바스크립트 동적 타이핑, 동적언어 단점 (0) | 2021.09.09 |
자바스크립트 데이터 타입의 필요성 (0) | 2021.09.09 |