일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 출처 모던 자바스크립트 Deep Dive
- spring security
- JPA
- 자바스크립트
- 유효성검사
- 자바 ORM 표준 JPA 프로그래밍
- 관계형 데이터베이스
- java
- 공백검사
- 게시판 작성자를 아이디로
- 스프링 시큐리티
- 중복되지 않는 값 만들기
- msa
- UUID
- ORM
- Thymeleaf
- 자바
- 모던 자바스크립트 Deep Dive
- Today
- Total
인지용
자바스크립트 타입 변환과 단축 평가 본문
원시 값은 변경 불가능한 값이다.
타입 변환
타입 변환이란 기존 원시값을 사용해
다른 타입의 새로운 원시 값을 생성하는 것이다.
( a라는 변수에 선언된 값을 가지고 다른 타입의 같은 값을 생성 )
암묵적 타입 변환
암묵적 타입 변환은 기존 변수값을 변경하는 게 아니라
자바스크립트 엔진이 에러 없이 평가하기 위해
피연산자의 값을 암묵적으로 변환해 새로운 타입의 값을 만들어
단 한 번 사용하고 버린다.
개발자는 암묵적 타입변환이 발생하는지, 발생하면 어떤 타입으로
바뀌는지 등등 예측 가능해야 오류를 범할 가능성이 낮아진다.
중요한 건코드를 예측할 수 있어야 한다는 것이다
단축 평가
단축 평가 : 평가 도중 평가 결과가 확정되면 나머지 평가 과정을 생략하는 것을 말함
논리 연산자를 사용한 단축 평가
논리곱(&&) 연산자와 논리합( || ) 연산자 표현식의 평가 결과는
불리언 값이 아닐 수도 있다.
논리곱(&&) 연산자는 좌항에서 우항으로 평가가 진행되는데
'Cat' && 'Dog' // -> "Dog"
결과를 결정하는 피연산자를 반환한다.
논리합( || ) 연산자도 좌항에서 우항으로 진행하고
제일 먼저 true로 평가된 값을 반환한다.
'Cat' || 'Dog' // -> "Cat"
이처럼 두 연산자는 타입을 변환하지 않고 그대로 반환한다.
단축 평가 장점
단축 평가를 사용하면 if문을 대체할 수 있다.
true일 때 무언가 하려면
var done = true;
var message = ‘’;
// 주어진 조건이 true 일때
if ( done ) message = '완료';
// if문은 단축 평가로 대체 가능하다
// done이 true라면 message에 '완료'를 할당
message = done && ‘완료’;
console.log(message); // 완료
false일 때 무언가 하려면
var done = false;
var message = ‘’;
// 주어진 조건이 false일 때
if ( !done ) message = '미완료';
// if 문은 단축 평가로 대체 가능하다
// done이 false라면 message에 '미완료'를 할당
message = done || ‘미완료’;
console.log(message) // 미완료
즉
true 일 때 무언가를 해야 하면 논리곱(&&) 연산자 사용
false 일때 무언가를 해야하면 논리합( || ) 연산자 사용
출처 모던 자바스크립트 Deep dive
'자바스크립트' 카테고리의 다른 글
자바스크립트 옵셔널 체이닝 연산자 (0) | 2021.09.23 |
---|---|
자바스크립트 연산자 (2) 삼항 조건 연산자, 논리 부정 연산자, 지수 연산자 (0) | 2021.09.23 |
자바스크립트 연산자 (1) (0) | 2021.09.23 |
자바스크립트 변수 사용시 주의사항 (0) | 2021.09.11 |
자바스크립트 동적 타이핑, 동적언어 단점 (0) | 2021.09.09 |