관리자 글쓰기
자바스크립트(5) 연산자 -2
2022. 8. 23. 03:47 - DoosanBaek

자바스크립트 강의 

개발일지

학습 진행 내용

연산자에 대한 이해

연산자(2)

 

비교연산자 (Comparison operators)

말 그대로 숫자값을 비교하는 연산자.

그리고 이러한 비교연산자를 통해서 얻는 값이 바로 boolean 

(조건문과 함께 많이 활용한다.)

console.log(1 < 2) // 1이 2보다 작은가? true
console.log(2 <= 2) // 2가 2보다 작거나 같은가? true
console.log(1 > 2) // 1이 2보다 큰가? false
console.log(1 >= 2) // 1이 2보다 크거나 같은가? false

 

논리연산자 (Logical operators)

|| (or), && (and), ! (not) 과 같은 연산자를 말한다.

(조건문과 함께 많이 활용한다.)

 

|| 는 연산 대상 중 하나만 true 여도 true 리턴

&& 는 연산 대상이 모두 true 여야만 true 리턴

 

! 는 true를 false로, false를 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)

두 값이 일치하는지를 비교

console.log(1 === 1) // true
console.log(1 === 2) // false
console.log('Javascript' === 'Javascript') // true
console.log('Javascript' === 'javascript') // 대소문자나 띄워쓰기도 다 정확히 일치해야 한다. 따라서 false

 

🔥 일치연산자는 == 도 있지 않나?

그렇다. 자바스크립트에는 두 가지의 일치연산자가 있다.

우리가 배운 === 는 엄밀한 (strict) 일치연산자여서

비교하는 두 값의 데이터타입값 자체가 정확히 일치해야만 true를 리턴한다.

 반면 == 는 비교하는 두 값의 데이터타입이 일치하지 않을 때 해당 값의 데이터타입을 자동으로 변환해주는 자바스크립트만의 특성이 있다. 이 특성이 자칫 개발자의 실수를 유발할 가능성이 크기 때문에 실무에서는 거의 쓰지 않고 있다.

 

== 과 === 의 차이 

console.log(1 === "1") // false를 출력
console.log(1 == "1" // true를 출력

 

 

연습) 상품 가격을 나타내는 2개의 변수를 선언하고 각각의 변수에 원하는 가격값을 할당하기

두 상품을 더한 가격 역시 총가격을 나타내는 변수에 할당하기.

마지막으로 총가격의 20% 할인된 가격을 구해서 '총 몇 원에 물건을 구입합니다.' 라는 문자열을 출력하기

const shoesPrice = 200000
const capPrice = 100000
const totalPrice = shoesPrice + capPrice

consoel.log(`총 ${totalPrice * 0.8}원에 물건을 구입합니다.`)