일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DOM
- ?? #null병합연산자
- 문제해결
- react
- 리액트
- ignore padding
- vite
- alias설정
- useQueryClient
- accordian
- Carousel
- debouncing
- 화살표2개
- ㅡ
- createPortal
- 서초구보건소 #무료CPR교육
- CustomHook
- QueryClient
- tailwindCSS
- BFC
- 부모패딩
- 조건부스타일
- 제어컴포넌트
- 부모요소의 패딩 무시
- es6
- transition
- 함수형프로그래밍
- BlockFormattingContext
- parent padding
- twoarrow
Archives
- Today
- Total
프론트엔드 첫걸음
논리연산자 본문
첫 번째 truthy를 찾는 OR연산자 '||'
- 모든 피연산자가 false이면 마지막 피연산자를 반환
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert( firstName || lastName || nickName || "익명"); // 바이올렛
- 리팩토링 예시
리팩토링 전
function fetchData() {
if (state.data) {
return state.data;
} else {
return 'Fetching..';
}
}
리팩토링 후
function fetchData() {
return state.data || 'Fetching';
}
첫 번째 falsy를 찾는 AND 연산자 ‘&&’
- 모든 피 연산자가 true이면 마지막 피연산자가 반환
// 첫 번째 피연산자가 truthy이면,
// AND는 두 번째 피연산자를 반환합니다.
alert( 1 && 0 ); // 0
alert( 1 && 5 ); // 5
// 첫 번째 피연산자가 falsy이면,
// AND는 첫 번째 피연산자를 반환하고, 두 번째 피연산자는 무시합니다.
alert( null && 5 ); // null
alert( 0 && "아무거나 와도 상관없습니다." ); // 0
- 리팩토링 예시
리팩토링 전
function getActiveUserName(user, isLogin) {
if (isLogin) {
if (user) {
if (user.name) {
return user.name
} else {
return '이름없음'
}
}
}
}
리팩토링 후
function getActiveUserName(user, isLogin) {
if (isLogin && user) {
return user.name || '이름없음';
}
}
&&를 사용한 코드가 더 짧긴 하지만 if문을 사용한 예시가 코드에서 무엇을 구현하고자 하는지 더 명백히 드러내고, 가독성도 좋습니다. 그러니 if 조건문이 필요하면 if를 사용하고 AND 연산자는 연산자 목적에 맞게 사용합시다.
출처
udemy 클린코드 자바스크립트
https://ko.javascript.info/logical-operators#ref-158
'개발 공부 > Javascript' 카테고리의 다른 글
화면이 다 안그려져서 이벤트가 안먹을 때 (0) | 2022.08.12 |
---|---|
클래스와 오브젝트 (0) | 2022.08.07 |
css :root 에 선언해준 변수 값 구하기 (0) | 2022.07.26 |
[문제해결] 동적으로 추가한 HTML에 이벤트 붙이기 (insertAdjacentHTML, 이벤트 위임) (0) | 2022.07.20 |
스크롤이 끝나면 alert 띄우기 - removeEventListener (0) | 2022.07.16 |