📚강의록📚/유노코딩)Javascript
Javascript 기초 03(연산02_비교)
과부하가즈아
2023. 4. 21. 15:29
비교연산(Comparison operators)
- 주어진 두 항을 비교할 수 있는 연산자로, 두 가지 유형의 비교를 할 수 있다. 비교하는 작업 또한 '연산'의 일종이라 할 수 있다.
크냐 작냐 (대/소 비교), 같냐 다르냐 (등가 비교)
- 비교 연산식은 언제가 boolean 데이터를 반환한다. 질문에 대한 답이 boolean의 참(true) 또는 거짓(false)인 것이다.
ex. 3이 5보다 작은가? true!
- 대소비교
대소 비교는 다음 네 가지 연산자를 사용해 처리할 수 있다. (연산자 의미는 앞에 있는 피연산자 기준)
- 등가비교
등가 비교는 다음 네 가지 연산자를 사용해 처리할 수 있다. 등호(=는 대입하겠다는 의미) 하나는 대입연산자이므로, 기호 개수를 잘 확인해가며 사용해야한다.
논리연산자 (Logical operators)
|| (or), && (and), ! (not) 과 같은 연산자를 말해요. 이것 역시 조건문과 찰떡궁합입니다.
- && 는 연산 대상이 모두 true 여야만 true 리턴(반환)
- ! 는 true를 false로, flase를 true로 바꿔서 리턴(반환)
- || 는 연산 대상 중 하나만 true 여도 true 리턴(반환)
let isOnSale = true
let isDiscountItem = true
console.log(isOnSale && isDiscountItem) // true && true 이므로 true
console.log(isOnSale || isDiscountItem) // true || true 이므로 true
isOnSale = false
console.log(isOnSale && isDiscountItem) // false && true 이므로 false
console.log(isOnSale || isDiscountItem) // false || true 이므로 true
isDiscountItem = false
console.log(isOnSale && isDiscountItem) // false && false 이므로 false
console.log(isOnSale || isDiscountItem) // false || false 이므로 false
console.log(!isOnSale) // !false 이므로 true
일치연산자 (Equality operators)
※등가 비교를 할 때, 등호(=)의 개수에 따라 비교 규칙에 차이를 보이는데
- ==는 '추상적(abstract) 같음 비교'로써, 자료형이 서로 다르더라도 같다고 판단할 수 있는 비교
- ===는 '엄격한(strict) 같음 비교'로써, 자료형과 데이터가 모두 일치해야만 같다고 판단한다.
console.log('1' == 1) //true
console.log('1' === 1) // false
▶내용실습◀
let num1 = 3;
let num2 = 5;
console.log( num1 > num2 )
console.log( num1 < num2 )
let num1 = '3'; // 데이터형
let num2 = 3; // 자료형
console.log( num1 == num2 )
console.log( num1 === num2 ) //엄격하기에 데이터형과 자료형으로 형태가 다르기에 false로 출력됨
▶예제◀
상품 가격을 나타내는 2개의 변수를 선언하고 각각의 변수에 원하는 가격값을 할당. 두 상품을 더한 가격 역시 총가격을 나타내는 변수에 할당. 마지막으로 총가격의 20% 할인된 가격을 구해서 '총 몇 원에 물건을 구입합니다.' 라는 문자열을 출력합니다.
// my answer
let shirtsPrice = 10000
let pantsPrice = 30000
let totalPrice = shirtsPrice + pantsPrice // const로 했어도
console.log(총 ${totalPrice}원에 물건을 구입합니다) // 우선 백틱이 없음
// 정답
const shoesPrice = 100000
const capPrice = 300000
const totalPrice = shoesPrice + capPrice
consoel.log(`총 ${totalPrice * 0.8}원에 물건을 구입합니다.`) // 백틱추가, 20% 할인을 여기에 *0.8