저장을 습관화
논리연산자 !와 연산자 +의 사용법 메모 본문
!는 논리 not 연산자이다.
true를 false로, false를 true로 바꾼다
+는 더하기 연산자이다.
+를 형변환하는데 쓴다면
양 옆에 있는 두 피연산자 중 하나가 문자열일때 덧셈의 결과를 문자열로 바꿀수도 있지만
다른 데이터 유형을 숫자로 형변환하는데도 쓸 수 잇다.
예시)
let num = "42";
console.log(+num); // 42
console.log(typeof +num); // number
let str = "Hello";
console.log(+str); // NaN
console.log(typeof +str); // number
둘을 응용한 +!의 사용 방법
아래와 같은 코드가 있다.
function solution(number, n, m) {
return +!(number % n || number % m);
}
함수 solution는 매개변수 number, n, m을 받아와
number가 n과 m으로 모두 나누어 떨어질때 1, 아니라면 0을 리턴하는 기능이다.
(number % n || number % m) 계산을 했을때 결과가 (0 || 0)이 된다면
아래와 같은 흐름이 된다.
console.log(0 || 0); // 0
// 0은 falsy한 값이니
// (0 || 0)은 (false || false)와 동일하며, 이는 false이다.
// !를 붙여 값을 부정한다.
console.log(!(0 || 0)); // true
// +를 붙여 true를 숫자형태로 변환한다.
// 1은 truthy한 값이니 true는 1이 된다.
console.log(+!(0 || 0)); // 1
아래의 흐름과 동일하다
console.log(false || false); // false
console.log(!(false || false)); // true
console.log(+!(false || false)); // 1
[참조]
프로그래머스 LV.0 공배수
프로그래머스 LV.0 공배수 https://school.programmers.co.kr/learn/courses/30/lessons/181936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고,
ctrs.tistory.com
'공부 > JavaScript' 카테고리의 다른 글
자바스크립트 제곱 Math.pow(), ** (0) | 2023.09.13 |
---|---|
자바스크립트 .reduce() (0) | 2023.09.13 |
자바스크립트 slice(), splice() 함수 (0) | 2023.09.09 |
전개연산자 ... (0) | 2023.09.09 |
자바스크립트 문자열 바꾸기 replace() (0) | 2023.09.09 |