์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ฉํ
์คํธ๋ฅผ ๊พธ์คํ ์ค๋นํ๊ณ ์ถ์ด์ ์์ ๊ธฐ์ด๋ถํฐ ํํํ๊ฒ ์์ํ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค. ์์ง ์ฝ๋ฉํ
์คํธ ๋จ๊ณ๋ ์๋์ง๋ง 1๋จ๊ณ, 2๋จ๊ณ ์ญ์ญ ์ฑ์ฅํ ์ ์์ ์ ๋๋ก ํํํ๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ณต๋ถํ๊ณ ์ถ๋ค!
โ ๊ฐ๋ฐ์ ์ทจ์
์์ ์ฝ๋ฉํ
์คํธ๋ ๊ธฐ๋ณธ ์ค ๊ธฐ๋ณธ์ด๋๊น!!!๐ฅ
(ํฌ๊ธฐํ์ง ์์ ๊ฑฐ์โฆ๐)
- ํ๋ก๊ทธ๋๋ฐ? ์ฝ๋ฉ์ด๋?
: ์ฐ๋ฆฌ๊ฐ ํ๋ก๊ทธ๋จ(์์ , ๋ ธ์ ๋ฑ๋ฑ)์ ์ฌ์ฉํ๋ ๊ณผ์ ์ธ ์ ๋ ฅ โ ์ฒ๋ฆฌ โ ์ถ๋ ฅ ๊ณผ์ ์ด ํ๋ก๊ทธ๋จ์ด ํ๋ ์ผ์ด๊ณ ์ด๋ ๊ฒ ํ๋ก๊ทธ๋จ์ด ์ ํด์ง ๋ฐฉ์์ ๋ฐ๋ผ์ ์ผํ ์ ์๋๋ก ์์ฑํด๋์ ๊ฒ์ด ๋ฐ๋ก ํ๋ก๊ทธ๋๋ฐ์ด๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ๋?
: ํ๋ก๊ทธ๋๋จธ๋ค์ ์ด๋ ํ ๋๊ตฌ๋ฅผ ์ด์ฉํด์ ์ฝ๋ฉ์ ํ๋๋ฐ, ์ด๋ ์ด์ฉํ๋ ๋๊ตฌ๊ฐ ๋ฐ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ธ๊ฐ์ ์ธ์ด์ ๊ฐ์ด ๊ทธ ์ข ๋ฅ๊ฐ ๋ค์ํ๊ณ ์ธ์ด๋ง๋ค ์ฌ์ฉํ๋ ๋ฌธ๋ฒ๋ ๋ค๋ฅด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด๋ ๊ฒ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ํ๋์ธ ๊ฒ์ด๋ค.
โ ์ฝ๋ฉ์ ์ฒ์ ์์ํ๊ฒ ๋๋ฉด ๊ฐ์ฅ ๋จผ์ ํ๋ ์ผ์ด ๋ฐ๋ก Hello World๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ!
console.log๋ผ๋ ๋ช
๋ น์ด๋ฅผ ํ์ฉํด์ ํฐ๋ฏธ๋์ Hello World๊ฐ ์ถ๋ ฅ๋๋๋ก ํ๋ค.
node hello.js๋ฅผ ํฐ๋ฏธ๋์ ์
๋ ฅํ๋ฉด Hello World๊ฐ ์ถ๋ ฅ๋๋ค!
console.log('Hello World!')
// ์ฃผ์ ์ฒ๋ฆฌ : ์ปดํจํฐ๊ฐ ํด์ํ์ง ์๋ ๋ถ๋ถ -> ์ฝ๋ฉ์ ํ๋ฉด์ ํน๋ณํ ๋ด๊ณ ์ถ์ ์ค๋ช
์ด๋ ํผ์ ๋ฉ๋ชจ๋ฅผ ํ ๋ ๋ง์ด ์ฌ์ฉ!
โ ๋ณ์๋ ์ ์ฅํด๋์ ๊ฐ์ ๊ฐ๋ฆฌํค๋ ์ผ์ข
์ ์ด๋ฆํ์ ๊ฐ์ ๊ฒ์ด๋ค.
๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์๋ฏธํ๋ ๋ฐ๋ฅผ ๋ณ์ ์ด๋ฆ์ ํตํด์ ์ ํํ๊ฒ ํํํ ์ ์์ผ๋ฉฐ ๊ณ์ํด์ ์ฌ์ฌ์ฉํ ์๋ ์๋ค.
// ๋ณ์ ์ ์ธ ๋ฐ ํ ๋น
let name = 'sebin Han'
// ๋ฌธ์์ด์ด ์๋ ๋ณ์๋ช
์ ์ ๋ฌํ๋ฉด ๋๋ค.
console.log(name)
name = 'olivia'
// ๋ค๋ฅธ ๊ฐ์ผ๋ก ํ ๋น
console.log(name)
// ์ฝ๋๋ ์์์๋ถํฐ ์๋๋ก ํด์๋๋ค!
๋ณ์ ์ ์ธ ํค์๋๋ let๋ฟ๋ง ์๋๋ผ const๋ ์กด์ฌ!
// ๋ณ์ ์ ์ธ ๋ฐ ํ ๋น
const name = "sebin han"
// ๋ณ์ name์ด ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฐ์ธ "sebin han" ์ถ๋ ฅ
console.log(name)
// ์์์ ์ ์ธํ๋ name์ด๋ผ๋ ๋ณ์์ "William"์ด๋ผ๋ ๊ฐ์ ๋ค์ ์ฌํ ๋น
name = "William"
// ํ์ง๋ง ์ฌํ ๋น ์คํจ -> ์๋ฌ ๋ฐ์!!
const๋ let๊ณผ ๋ฌ๋ฆฌ ๋ณ์์ ๊ฐ์ ์ฌํ ๋นํ ํ์๊ฐ ์์ ๋ ์ฌ์ฉํ๋ค. ํด๋น ๋ณ์๊ฐ ๊ณ ์ ๋ ๊ฐ์ ๊ณ์ ๊ฐ๊ณ ์์ ๋ ์ฐ๋ฉด ์ข๋ค! โ const๋ก ์ ์ธํ ๊ฐ์ ์ฌํ ๋น์ ํ๊ฒ ๋๋ฉด ์๋ฌ๊ฐ ์๊ธฐ๋ ์ด์ !
let, const๊ฐ ์๊ธฐ ์ ์๋ var๋ฅผ ์จ์ ๋ณ์๋ฅผ ์ ์ธํด์ผ๋ง ํ๋ค. ํ์ง๋ง ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ์์๋ let๊ณผ const๋ฅผ ์ฌ์ฉํด์ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๋ค. var๋ ์ฌ๋ฌ ๋จ์ ๋ค์ด ์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ์ฌ์ฉํ์ง X
โ ์๋ฐ์คํฌ๋ฆฝํธ์๋ ๋ค์ํ ๋ฐ์ดํฐ ํ์
์ด ์กด์ฌํ๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ๋ฐ์ดํฐ ํ์
์ด ์กด์ฌํ๋๋ฐ ์์ ๋งํ๋ฏ์ด ํ๋ก๊ทธ๋๋ฐ์ ์
๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ ์ถ๋ ฅํ๋ ๊ณผ์ ์ด๋ค. ์ด๋, ๋ฌด์ํ ๋ง์ ์ข
๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ์ฒ๋ฆฌํ๊ฒ ๋๋๋ฐ ๋ฏธ๋ฆฌ ๋ฐ์ดํฐ ํ์
์ ๊ตฌ๋ถํด ๋์ผ๋ฉด ์ปดํจํฐ๊ฐ ๋ณด๋ค ์ฝ๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์๋ ๋ค์ํ ๋ฐ์ดํฐ ํ์
์ด ์กด์ฌํ๊ณ ์ด๋ฌํ ๋ฐ์ดํฐ ํ์
์ ๋ฐฐ์๋๋ ๊ฒ์ด ํ์๋ค!
1) ์ซ์ number = ๋ง ๊ทธ๋๋ก ์ซ์ ๋ฐ์ดํฐ.
console.log(20) // 20 ์ถ๋ ฅ
const myAge = 24
const yourAge = 27
console.log(myAge) // 24 ์ถ๋ ฅ
console.log(yourAge) // 27 ์ถ๋ ฅ
2) ๋ฌธ์์ด string = ๋ง ๊ทธ๋๋ก ๋ฌธ์์ด ๋ฐ์ดํฐ.
์ด์ค ๋ฐ์ดํ("")๋ ์์๋ฐ์ดํ('')๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ธ์ผ ํ๋ค.
const firstName = 'sebin'
const lastName = 'Han'
console.log(firstName, lastName) // sebin, Han ์ถ๋ ฅ
3) ์ฐธ๊ณผ ๊ฑฐ์ง Boolean = ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ํ๋ด๋ true / false๋ฅผ ํํํ๋ ๋ฐ์ดํฐ
const isMan = true
const isWoman = false
console.log(isMan) // true ์ถ๋ ฅ
console.log(isWoman) // false ์ถ๋ ฅ
4) null, undefined = null์ ํ
ํ
๋น์ด ์๋ ๊ฐ์ ์๋ฏธ.
undefined์ ๋ณ์๋ฅผ ์ ์ธ๋ง ํ๊ณ ๊ฐ์ด ํ ๋น๋์ด ์์ง ์์ ๊ฒ.
let name1 = null
console.log(name) // null ์ถ๋ ฅ
let name2
console.log(name2) // undefined ์ถ๋ ฅ
[ ์ฐ์ต ]
let name = 'sebin Han'
let age = 24
let home = 'Daejeon'
let wm = null
let hobby
console.log(name, age, home, wm, hobby)
1) ๋ฌธ์์ด ๋ถ์ด๊ธฐ์ ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด = '+'๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ์ด์ด ๋ถ์ผ ์ ์์ผ๋ฉฐ ์ถ๊ฐ๋ก ๋ฌธ์์ด๊ณผ ์ซ์๋ฅผ ์ด์ด๋ถ์ด๋ฉด ์ซ์๊ฐ ๋ฌธ์๋ก ์ธ์!
console.log('My' + ' car') // My car ์ถ๋ ฅ
console.log('2' + 4) // 24 ์ถ๋ ฅ
let shoesPrice = 200000
console.log('์ด ์ ๋ฐ์ ๊ฐ๊ฒฉ์ '+ shoesPrice +'์์
๋๋ค.')
console.log(`์ด ์ ๋ฐ์ ๊ฐ๊ฒฉ์ ${shoesPrice}์ ์
๋๋ค.`)
2) ์ฐ์ ์ฐ์ฐ์
console.log(2 + 3) // 5 ์ถ๋ ฅ
console.log(2 - 1) // 1 ์ถ๋ ฅ
console.log(6 / 2) // 3 ์ถ๋ ฅ
console.log(2 * 11) // 22 ์ถ๋ ฅ
console.log(10 % 3) // ๋๋จธ์ง(remainder) ์ฐ์ฐ์. 1 ์ถ๋ ฅ
console.log(10 ** 2) // exponentiation. 10์ 2์น์ธ 100 ์ถ๋ ฅ
3) ์ฆ๊ฐ์ฐ์ฐ์ = ์๊ธฐ ์์ ์ ๊ฐ์ ์ฆ๊ฐ์ํค๊ฑฐ๋ ๊ฐ์์ํค๋ ์ฐ์ฐ์(++, โ).
์ฆ๊ฐ์ฐ์ฐ์๋ฅผ ๋ณ์ ์์ ๋๋๋, ๋ณ์ ๋ค์ ๋๋๋์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ์๋ค!
let count = 1
const preIncrement = ++count
// ์ฆ๊ฐ์ฐ์ฐ์๋ฅผ ์์ ๋๊ฒ ๋๋ฉด ์๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ๋ ์ค์ ์ฝ๋์ ๊ฐ์ ๋ด์ฉ.
// ๋จผ์ ์๊ธฐ ์์ ์๊ฒ 1์ ๋ํด์ ์ฌํ ๋น ํ ํ, ์ด๋ฅผ preIncrement ์ ํ ๋นํ๋ค๋ ์๋ฏธ.
// count = count + 1
// const preIncrement = count
console.log(`count: ${count}, preIncrement: ${preIncrement}`) // count: 2, preIncrement: 2
let count = 1
const postIncrement = count++
// ์ฆ๊ฐ์ฐ์ฐ์๋ฅผ ๋ค์ ๋๊ฒ ๋๋ฉด ์๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ๋ ์ค์ ์ฝ๋์ ๊ฐ์ ๋ด์ฉ.
// postIncrement์ ์๊ธฐ ์์ ์ ๊ฐ์ ๋จผ์ ํ ๋นํ๊ณ , ์ดํ์ 1์ ๋ํด์ ์ฌํ ๋น.
// const postIncrement = count
// count = count + 1
console.log(`count: ${count}, postIncrement: ${postIncrement}`) // count: 2, postIncrement: 1
4) ๋์ ์ฐ์ฐ์
const shirtsPrice = 200000
const pantsPrice = 50000
let totalPrice = 0
totalPrice += shirtsPrice // totalPrice = totalPrice + shirtsPrice ์ ๋์ผ
console.log(totalPrice)
totalPrice += pantsPrice // totalPrice = totalPrice + pantsPrice ์ ๋์ผ
console.log(totalPrice)
totalPrice -= shirtsPrice // totalPrice = totalPrice - shirtsPrice ์ ๋์ผ
console.log(totalPrice)
5) ๋น๊ต์ฐ์ฐ์ = ๋ง ๊ทธ๋๋ก ์ซ์ ๊ฐ์ ๋น๊ตํ๋ ์ฐ์ฐ์ โ ๋น๊ต์ฐ์ฐ์๋ฅผ ํตํด์ ์ป๋ ๊ฐ์ด ๋ฐ๋ก boolean์ด๋ค.
console.log(1 < 3) // 1์ด 3๋ณด๋ค ์์๊ฐ? true
console.log(4 <= 4) // 4๊ฐ 4๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์๊ฐ? true
console.log(5 > 7) // 5๊ฐ 7๋ณด๋ค ํฐ๊ฐ? false
console.log(1 >= 2) // 1์ด 2๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์๊ฐ? false
6) ๋ ผ๋ฆฌ์ฐ์ฐ์ = ||(or), && (and), ! (not) ๊ณผ ๊ฐ์ ์ฐ์ฐ์
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
7) ์ผ์น์ฐ์ฐ์ = ๋ ๊ฐ์ด ์ผ์นํ๋์ง๋ฅผ ๋น๊ต
console.log(1 === 1) // true
console.log(1 === 2) // false
console.log('Javascript' === 'Javascript') // true
console.log('Javascript' === 'javascript')
// ๋์๋ฌธ์๋ ๋์์ฐ๊ธฐ๋ ๋ค ์ ํํ ์ผ์นํด์ผ ํ๋ค. ๋ฐ๋ผ์ false
console.log(1 === "1") // false๋ฅผ ์ถ๋ ฅ
console.log(1 == "1" // true๋ฅผ ์ถ๋ ฅ
=> ==๋ ๋น๊ตํ๋ ๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ด ์ผ์นํ์ง ์์ ๋ ํด๋น ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ์๋์ผ๋ก ๋ณํํด ์ฃผ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ ํน์ฑ์ด ์๋ค. ์ด ํน์ฑ์ผ๋ก ์ค์๋ฅผ ์ ๋ฐํ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ์ผ์น ์ฐ์ฐ์๋ก๋ ===๋ฅผ ์ฌ์ฉ!
[ ์ฐ์ต ]
const pen = 3500
const note = 2100
let total = pen + note
console.log(`ํ์ ${pen}์, ๋
ธํธ๋ ${note}์์ผ๋ก ์ด ${total}์ ์
๋๋ค.`)
total -= total * 0.2
console.log(`20% ํ ์ธ๋ ๊ฐ๊ฒฉ์ ${total}์ ์
๋๋ค.`)
// console.log(`์ด ๊ฐ๊ฒฉ์ ${total*0.8}์ ์
๋๋ค.`)
โ ํน์ ์กฐ๊ฑด๋ฌธ์ ๋ง์กฑํ์ ๋๋ง ์ฝ๋๋ฅผ ์คํํ๋๋ก ํ๋ ๊ตฌ๋ฌธ!
์ด ์กฐ๊ฑด์ ๊ฒฐ๊ด๊ฐ์ด ๋ฐ๋ก boolean ๊ฐ์ด๋ค.
const shoesPrice = 50000
if (shoesPrice < 60000) { // ์ ๋ฐ ๊ฐ๊ฒฉ์ด 60000์๋ณด๋ค ์์ผ๋ฏ๋ก ํด๋น ์ฝ๋๊ฐ ์คํ๋จ
// true์ ํด๋นํ๋ฉด ์๋ ์ฝ๋ ์คํ
console.log('์ ๋ฐ์ ์ฌ๊ฒ ์ต๋๋ค.')
}
const capPrice = 70000
if (capPrice < 60000) {
console.log('๋ชจ์๋ฅผ ์ฌ์ง ์๊ฒ ์ต๋๋ค.') // ๋ชจ์ ๊ฐ๊ฒฉ์ด 60000์๋ณด๋ค ์์ง ์์ผ๋ฏ๋ก ํด๋น ์ฝ๋๊ฐ ์คํ๋์ง ์์
}
else์ else if ๊ตฌ๋ฌธ = else๋ false์ผ ๋ ์คํ๋๋ค.
else if ๋ค๋ฅธ ์กฐ๊ฑด์ ์ถ๊ฐํ ๋ ์ฌ์ฉํ๋ค.
const shoesPrice = 50000
if (shoesPrice < 40000) {
console.log('์ ๋ฐ์ ์ฌ๊ฒ ์ต๋๋ค.')
} else {
console.log('๋๋ฌด ๋น์ธ์. ์ ๋ฐ์ ์ฌ์ง ์๊ฒ ์ต๋๋ค.')
}
// ์ ๋ฐ ๊ฐ๊ฒฉ์ด 40000์๋ณด๋ค ์์ง ์์ผ๋ฏ๋ก else ์ฝ๋๊ฐ ์คํ๋จ
const shoesPrice = 50000
if (shoesPrice < 40000) {
console.log('์ ๋ฐ์ ์ฌ๊ฒ ์ต๋๋ค.')
} else if (shoesPrice <= 50000) {
console.log('๊ณ ๋ฏผ์ ํด๋ณผ๊ฒ์...') // ์ ๋ฐ ๊ฐ๊ฒฉ์ด 50000์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฏ๋ก ์์ผ๋ฏ๋ก ํด๋น ์ฝ๋๊ฐ ์คํ๋จ
} else {
console.log('๋๋ฌด ๋น์ธ์. ์ ๋ฐ์ ์ฌ์ง ์๊ฒ ์ต๋๋ค.')
}
[ ์ฐ์ต ]
// ๋จ์:km
const distance = 2
if (distance < 2) {
console.log('๊ฑธ์ด๊ฐ์!')
} else if (2 <= distance && distance < 5 ) {
console.log('ํ์๋ฅผ ํ์.')
} else {
console.log('๊ธฐ์ฐจ๋ฅผ ํ์ใ
')
}