console.log('nayeong' + 'kim') //nayeong kim을 출력
const shoesPrice = 200000
console.log(`이 신발의 가격은 ${shoesPrice}원입니다`)
// console.log('이 신발의 가격은 ' + shoesPrice + '원입니다') 와 동일
console.log(2 + 1) // 3을 출력
console.log(2 - 1) // 1을 출력
console.log(4 / 2) // 2를 출력
console.log(2 * 3) // 6을 출력
console.log(10 % 3) // 나머지(remainder) 연산자. 1을 출력
console.log(10 ** 2) // exponentiation. 10의 2승인 100을 출력
let count = 1
const preIncrement = ++count
// count = count + 1 // count변수에 1을 더해서 재할당 후
// const preIncrement = count // 이를 preincrement에 할당시킨다.
console.log(`count: ${count}, preIncrement: ${preIncrement}`) // count: 2, preIncrement: 2
let count = 1
const postIncrement = count++
// const postIncrement = count // count변수에 먼저 postincrement를 할당시킨 후
// count = count + 1 // 이후에 1을 더하여 재할당한다.
console.log(`count: ${count}, postIncrement: ${postIncrement}`) // count: 2, postIncrement: 1
🚨 count변수를 const가 아닌 let 구문으로 선언한 이유
const shirtsPrice = 100000
const pantsPrice = 80000
let totalPrice = 0
totalPrice += shirtsPrice // totalPrice = totalPrice + shirtsPrice 와 동일
console.log(totalPrice) //100000이 출력
totalPrice += pantsPrice // totalPrice = totalPrice + pantsPrice 와 동일
console.log(totalPrice) //180000이 출력
totalPrice -= shirtsPrice // totalPrice = totalPrice - shirtsPrice 와 동일
console.log(totalPrice) //80000이 출력
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
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를 출력
//엄격한 일치연산자를 사용하고 있고 숫자 1과 문자열 1의 데이터타입이 다르기 때문에 false
console.log(1 == "1") // true를 출력
//숫자 1과 문자열 1의 데이터타입이 다르나 '=='는 두 값으 데이터타입이 일치하지 않을 때 자동으로 변환해주는 js의 특성이 있다.