티스토리 뷰
!! 연산자는 자바스크립트에서 boolean이 아닌 값을 boolean으로 변환시킬 때 사용한다.
이를 통해서 변수가 존재하는지 혹은 유효한 값을 갖는지 확인할 수 있다.
데이터를 자동으로 불리언으로 바꿔준다. 만약 데이터가 falsy값 (0, "",'',null, NaN, undefined)들 중 하나라면 false를 반환할 것이다. 이 외의 경우는 true를 반환한다. 이를 통해서 falsy값을 논리연산 boolean값만 반환하게 만들 수 있다.
이중 부정 연산자 예시
- 아래와 같이 2가지 방법으로 사용할 수 있다.
const isAnd = (a,b) => !!(a&&b)
isAnd('hello','world') //true
!!('hello'&&'world') // true
나의 경우, 단일 연결 리스트의 insert 메서드를 구현하다가 예시 코드 중 아래와 같은 내용을 발견하여 찾아보게 됐다.
if(index === this.length) return !!this.push(val);
- 만약 this.push(val)의 값이 falsy값이라면 이중 부정을 통해서 논리연산 boolean값만 반환하게 만들 수 있기 때문에 사용한 거 같다.
어떤 메서드가 여러 값으로 나오는 것보단 true 혹은 false 와 같은 논리연산 boolean 값만 반환하게 강제하도록 하는 것이 좋은 메서드라고 한다. 이렇게 하면 디버깅이 쉬워질 거 같다.
'Frontend > JavaScript' 카테고리의 다른 글
[JavaScript | ES6] Class (this, public & private 필드, 상속) (0) | 2023.07.18 |
---|---|
[JavaScript] Array.from + selectedOptions 으로 선택된 요소의 값만 담은 배열반환하기 (0) | 2023.05.11 |
[node.js] process.env 환경변수 설정과 dotenv 라이브러리 (0) | 2023.04.13 |
[JavaScript] 버블링이 발생하는 이벤트와 아닌 이벤트, event.target과 currentTarget 차이점 (0) | 2023.04.05 |
[JavaScript] 배포와 번들러의 기초 (with. vite) + 리눅스 명령어 (0) | 2023.03.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 항해99프론트후기
- fs모듈 넥스트
- 원티드 FE 프리온보딩 챌린지
- 원티드 프리온보딩 FE 챌린지
- getServerSideProps
- is()
- getStaticPaths
- 항해99프론트
- text input pattern
- aspect-ratio
- tilde caret
- 부트캠프항해
- nvm경로 오류
- 형제 요소 선택자
- ~ ^
- reactAPI
- 원티드 3월 프론트엔드 챌린지
- && 셸 명령어
- 타입스크립트 장점
- 틸드와 캐럿
- grid flex
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- Prittier
- 항해99추천비추천
- nvm 설치순서
- float 레이아웃
- 프리렌더링확인법
- 타입스크립트 DT
- 프리온보딩 프론트엔드 챌린지 3월
- D 플래그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함