홀/짝
홀수 : x % 2 = 1
짝수 : y % 2 = 0
x값 보다 작은 수를 얻고 싶을 때
a % x = a ~ x 사이의 값만 반환
* 거듭제곱
const num = 3**2;
console.log(num) // 9
let num = 10;
//num = mum + 5;
num += 5;
console.log(num); // 15
let num = 10;
let result = num++
console.log(result); // 10
result
에 할당하고 10 반환let num = 10;
let result = ++num
console.log(result); // 11
result
에 할당하고 11 반환 let num = 10;
let result = num--;
console.log(result); // 10
result
에 할당하고 10 반환let num = 10;
let result = --num;
console.log(result); // 9
result
에 할당하고 9 반환console.log(a = 3); // a = 3
console.log(a == 3); // true
console.log(3 === '3'); // false
=
은 0과 false를 구분하지 않는다console.log(
null == undifined, // true (비어있는걸로 비교)
null === undifined // false(자료값이 다름)
);
console.log(
null > 0, ..//false
null < 0, ..//false
null == 0, ..//false
null>= 0 ..//true
);
논리 연산자
true
면 true
false
일 때만 false
를 반환true
를 발견하는 즉시 평가를 멈춤false
면 false
를 반환true
일 때만 true
를 반환false
를 발견하는 즉시 평가를 멈춤!
은 true/fasle
를 반대 값으로 반환 a!= 3 // true or false
console.log(3 != 3) // false
console.log(1 != 3) // true
!=
으로 비교하면 반환 값은 항상 boolean(참/거짓)으로 반환여군가 있고 시력이 좋은 여군
운전면허 : 전체 군인의 80%
시력 : 전체 군인의 60%
여군 : 전체 군인의 7%-> "여군인데 시력이 좋고 운전면허가 있는 사람" 순서로 작성하는것이 좋음
첫번째 여군 평가에서 93%를 걸러낼 수 있음 (성능 최적화의 도움이 됨)
* 조건
.//남자이고, 이름이 Joe 이거나 성인이면 통과
const gender = 'F';
const name ='Jenny';
const isAdult = true;
if(gender === "M" && name ==="Joe" || isAdult) {
console.log("Pass"); {
} else {
console.log("Fail");}
}
// "Pass" (위의 * 조건대로라면 "Fail"이 나와야 정상)
* 수정
const gender = 'F';
const name ='Jenny';
const isAdult = true;
if(gender === "M" (&& name ==="Joe" || isAdult)) {
console.log("Pass"); {
} else {
console.log("Fail");}
}
// "Fail"
&&
의 우선순위가 ||
보다 높기 때문에 발생한 문제