์ฐ์ฐ์
ํ ๋น ์ฐ์ฐ์
- ์ค๋ฅธ์ชฝ์ ์๋ ํผ์ฐ์ฐ์์ ํ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ผ์ชฝ ํผ์ฐ์ฐ์์ ํ ๋นํ๋ ์ฐ์ฐ์
- ๋ค์ํ ์ฐ์ฐ์ ๋ํ ๋จ์ถ ์ฐ์ฐ์ ์ง์
- Increment ๋ฐ Decrement์ฐ์ฐ์
- Increment (++) : ํผ์ฐ์ฐ์์ ๊ฐ์ 1์ฆ๊ฐ์ํค๋ ์ฐ์ฐ์
- Decrement (โ) : ํผ์ฐ์ฐ์์ ๊ฐ์ 1๊ฐ์์ํค๋ ์ฐ์ฐ์
- += ๋๋ -= ์ ๊ฐ์ด ๋ ๋ถ๋ช ํ ํํ์ผ๋ก ์ ์ ๊ฒ์ ๊ถ์ฅ
let c = 0
c += 10
console.log(c) // 10 (c์ 10์ ๋ํ๋ค)
c -= 3
console.log(c) // 7 (c์ 3์ ๋บ๋ค)
c *= 10
console.log(c) // 70 (c์ 10์ ๊ณฑํ๋ค)
c++
console.log(c) // 71 (c์ 1์ ๋ํ๋ค, ์ฆ๊ฐ์)
c--
console.log(c) // 70 (c์ 1์ ๋บ๋ค, ์ฆ๊ฐ์)
๋น๊ต ์ฐ์ฐ์
- ํผ์ฐ์ฐ์๋ค(์ซ์, ๋ฌธ์, Boolean ๋ฑ)์ ๋น๊ตํ๊ณ ๊ฒฐ๊ณผ๊ฐ์ boolean์ผ๋ก ๋ฐํํ๋ ์ฐ์ฐ์
- ๋ฌธ์์ด์ ์ ๋์ฝ๋ ๊ฐ์ ์ฌ์ฉํ๋ฉฐ ํ์ค ์ฌ์ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น๊ต
- ex) ์ํ๋ฒณ๋ผ๋ฆฌ ๋น๊ตํ ๊ฒฝ์ฐ
- ์ํ๋ฒณ ์์์ ํ์์๊ฐ ๋ ํฌ๋ค
- ์๋ฌธ์๊ฐ ๋๋ฌธ์๋ณด๋ค ๋ ํฌ๋ค
3 > 2 // true
3 < 2 // false
'A' < 'B' // true
'Z' < 'a' // true
'๊ฐ' < '๋' // true
๋๋ฑ ์ฐ์ฐ์ (==)
- ๋ ํผ์ฐ์ฐ์๊ฐ ๊ฐ์ ๊ฐ์ผ๋ก ํ๊ฐ๋๋์ง ๋น๊ต ํ boolean๊ฐ์ ๋ฐํ
- ๋น๊ตํ ๋ ์๋ฌต์ ํ์ ๋ณํ์ ํตํด ํ์ ์ ์ผ์น์ํจ ํ ๊ฐ์ ๊ฐ์ธ์ง ๋น๊ต
- ๋ ํผ์ฐ์ฐ์๊ฐ ๋ชจ๋ ๊ฐ์ฒด์ผ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ผ๋ณด๋์ง ํ๋ณ
- ์์์น ๋ชปํ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ํน๋ณํ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ์ฌ์ฉํ์ง ์์
์ผ์น ์ฐ์ฐ์ (===)
const a = 1
const b = '1'
console.log(a === b) // false
console.log(a === Number(b)) // true
- ๋ ํผ์ฐ์ฐ์์ ๊ฐ๊ณผ ํ์ ์ด ๋ชจ๋ ๊ฐ์ ๊ฒฝ์ฐ true๋ฅผ ๋ฐํ
- ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ฑฐ๋, ๊ฐ์ ํ์ ์ด๋ฉด์ ๊ฐ์ ๊ฐ์ธ์ง๋ฅผ ๋น๊ต
- ์๊ฒฉํ ๋น๊ต๊ฐ ์ด๋ค์ง๋ฉฐ ์๋ฌต์ ํ์
๋ณํ์ด ๋ฐ์ํ์ง ์์
- ์๊ฒฉํ ๋น๊ต : ๋ ๋น๊ต ๋์์ ํ์ ๊ณผ ๊ฐ ๋ชจ๋ ๊ฐ์ ์ง ๋น๊ตํ๋ ๋ฐฉ์
๋ ผ๋ฆฌ ์ฐ์ฐ์
- ์ธ ๊ฐ์ง ๋
ผ๋ฆฌ ์ฐ์ฐ์๋ก ๊ตฌ์ฑ
- and ์ฐ์ฐ์
&&
์ฐ์ฐ์ - or์ฐ์ฐ์
||
์ฐ์ฐ์ - not์ฐ์ฐ์
!
์ฐ์ฐ์
- and ์ฐ์ฐ์
- ๋จ์ถ ํ๊ฐ ์ง์
- false && true โ false
- true || false โ true
์ผํญ ์ฐ์ฐ์ (Ternary Operator)
- 3๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฐ์ ๋ฐํํ๋ ์ฐ์ฐ์
- ๊ฐ์ฅ ์์ ์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด : (์ฝ๋ก )์์ ๊ฐ์ด ๋ฐํ๋๋ฉฐ, ๊ทธ ๋ฐ๋์ผ ๊ฒฝ์ฐ : ๋ค์ ๊ฐ์ด ๋ฐํ๋๋ ์ฐ์ฐ์
- ์ผํญ ์ฐ์ฐ์์ ๊ฒฐ๊ณผ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ณ์์ ํ ๋น ๊ฐ๋ฅ
true ? 1 : 2 // 1
false ? 1 : 2 // 2
const result = Math.PI > 4 ? 'Yep' : 'Nope'
console.log(result) // Nope
์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ์ ์ข ๋ฅ์ ํน์ง
if
statement- ์กฐ๊ฑด ํํ์์ ๊ฒฐ๊ณผ๊ฐ์ boolean ํ์ ์ผ๋ก ๋ณํ ํ ์ฐธ/๊ฑฐ์ง์ ํ๋จ
switch
statement- ์กฐ๊ฑด ํํ์์ ๊ฒฐ๊ณผ๊ฐ์ด ์ด๋ ๊ฐ(case)์ ํด๋นํ๋์ง ํ๋ณ
- ์ฃผ๋ก ํน์ ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ์กฐ๊ฑด์ ๋ถ๊ธฐํ ๋ ํ์ฉ
- ์กฐ๊ฑด์ด ๋ง์์ง ๊ฒฝ์ฐ if๋ฌธ๋ณด๋ค ๊ฐ๋ ์ฑ์ด ๋์ ์ ์์
if
statement
const name = 'manger'
if (name === 'admin') {
console.log('๊ด๋ฆฌ์๋ ํ์ํฉ๋๋ค.')
} else if (name === 'manager') {
console.log('๋งค๋์ ๋ ํ์ํฉ๋๋ค.')
} else {
console.log('${name}๋ ํ์ํฉ๋๋ค.')
}
if, else if, else
- ์กฐ๊ฑด์ ์๊ดํธ(condition) ์์ ์์ฑ
- ์คํํ ์ฝ๋๋ ์ค๊ดํธ {} ์์ ์์ฑ
- ๋ธ๋ก ์ค์ฝํ ์์ฑ
switch
statement
switch(expression) {
case 'first value' : {
// do something
[break]
}
case 'second value' : {
// do something
[break]
}
[default : {
// do something
}]
}
- ํํ์(expression)์ ๊ฒฐ๊ณผ๊ฐ์ ์ด์ฉํ ์กฐ๊ฑด๋ฌธ
- ํํ์์ ๊ฒฐ๊ณผ๊ฐ๊ณผ case๋ฌธ์ ์ค๋ฅธ์ชฝ ๊ฐ์ ๋น๊ต
- break ๋ฐ default๋ฌธ์ [์ ํ์ ]์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- break๋ฌธ์ด ์๋ ๊ฒฝ์ฐ break๋ฌธ์ ๋ง๋๊ฑฐ๋ default๋ฌธ์ ์คํํ ๋๊น์ง ๋ค์ ์กฐ๊ฑด๋ฌธ ์คํ
- ๋ธ๋ก ์ค์ฝํ ์์ฑ
์ด ๊ฒฝ์ฐ ๋ชจ๋ cosole์ด ์ถ๋ ฅ(Fall-through)
const name = 'ํ๊ธธ๋'
switch(name) {
case 'ํ๊ธธ๋' : {
console.log('ํ๊ธธ๋๋ ํ์ํฉ๋๋ค.')
}
case 'manager' : {
console.log('๋งค๋์ ๋ ํ์ํฉ๋๋ค.')
}
default : {
console.log(`${name}๋ ํ์ํฉ๋๋ค.`)
}
}
break๋ฅผ ์์ฑํ๋ฉด ์๋ํ๋๋ก ๋์
const name = 'ํ๊ธธ๋'
switch(name) {
case 'ํ๊ธธ๋' : {
console.log('๊ด๋ฆฌ์๋ ํ์ํฉใด๋ใ
.')
break
}
case 'manager' : {
console.log('๋งค๋์ ๋ ํ์ํฉ๋๋ค.')
break
}
default : {
console.log(`${name}๋ ํ์ํฉ๋๋ค.`)
}
}
if / switch
- ์กฐ๊ฑด์ด ๋ง์ ๊ฒฝ์ฐ switch๋ฌธ์ ํตํด ๊ฐ๋ ์ฑ ํฅ์์ ๊ธฐ๋ํ ์ ์์
- ์ผ๋ฐ์กฑ์ผ๋ก ์ค์ฒฉ else if๋ฌธ์ ์ ์ง๋ณด์ ํ๊ธฐ ํ๋ค๋ค๋ ๋ฌธ์ ๋ ์์
const num0ne = 5
const numTwo = 10
if (operator === '+') {
console.log(num0ne + numTwo)
} else if (operator == '-') {
console.log(num0ne - numTwo)
} else if (operator == '*') {
console.log(num0ne * numTwo)
} else if (operator == '/') {
console.log(num0ne / numTwo)
} else {
console.log('์ ํจํ์ง ์์ ์ฐ์ฐ์์
๋๋ค.')
}
const num0ne = 5
const numTwo = 10
let opertaor = '+'
switch(operator) {
case '+' : {
console.log(num0ne + numTwo)
break
}
case '-' : {
console.log(num0ne - numTwo)
break
}
case '*' : {
console.log(num0ne * numTwo)
break
}
case '/' : {
console.log(num0ne / numTwo)
break
}
default : {
console.log('์ ํจํ์ง ์์ ์ฐ์ฐ์์
๋๋ค.')
}
}
๋ฐ๋ณต๋ฌธ
while
์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ด๊ธฐ๋ง ํ๋ฉด ๋ฌธ์ฅ์ ๊ณ์ํด์ ์ํ
while (์กฐ๊ฑด๋ฌธ) {
// do something
}
let i = 0
while (i < 6) {
console.log(i)
i += 1
}
// 0, 1, 2, 3, 4, 5
for
ํน์ ํ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ๋ก ํ๋ณ๋ ๋๊น์ง ๋ฐ๋ณต
for ([์ด๊ธฐ๋ฌธ];[์กฐ๊ฑด๋ฌธ];[์ฆ๊ฐ๋ฌธ]) {
// do something
}
for (let i = 0; i < 6; i++ ){
console.log(i)
}
// 0, 1, 2, 3, 4, 5
forโฆin
- ๊ฐ์ฒด (object)์ ์์ฑ์ ์ํํ ๋ ์ฌ์ฉ
- ๋ฐฐ์ด๋ ์ํ ๊ฐ๋ฅํ์ง๋ง ์ธ๋ฑ์ค ์์ผ๋ก ์ํํ๋ค๋ ๋ณด์ฅ์ด ์์ผ๋ฏ๋ก ๊ถ์ฅํ์ง ์์
for (variable in object) {
statement
}
const fruits = {a: 'appleb', b: 'banana'}
for (const key in fruits) {
console.log(key) // a, b
console.log(fruits[key]) // apple, banana
}
forโฆof
- ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ์ํํ ๋ ์ฌ์ฉ
- ๋ฐ๋ณต ๊ฐ๋ฅํ (iterable) ๊ฐ์ฒด์ ์ข ๋ฅ : Array, Set, String ๋ฑ
for (variable of object) {
statements
}
const numbers = [0, 1, 2, 3]
for (const number of numbers) {
console.log(number) // 0, 1, 2, 3
}
forโฆin
๊ณผ forโฆof
์ฐจ์ด
- for โฆ in ์ ์์ฑ ์ด๋ฆ์ ํตํด ๋ฐ๋ณต
- for โฆ of ๋ ์์ฑ ๊ฐ์ ํตํด ๋ฐ๋ณต
const arr = [3, 5, 7]
for (const i in arr) {
console.log(i) // 0 1 2
}
for (const i of arr) {
console.log(i) // 3 5 7
}
[์ฐธ๊ณ ]
for โฆ in, for โฆ of ์ const
์ผ๋ฐ์ ์ธ for๋ฌธ for (let i=0; i<arr.length; i++) {โฆ}์ ๊ฒฝ์ฐ์๋ ์ต์ด ์ ์ํ i๋ฅผ ์ฌํ ๋น ํ๋ฉด์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ const๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฌ๋ฐ์
๋ค๋ง for..in, for..of์ ๊ฒฝ์ฐ์๋ ์ฌํ ๋น์ด ์๋๋ผ, ๋งค ๋ฐ๋ณต์ ํด๋น ๋ณ์๋ฅผ ์๋ก ์ ์ํ์ฌ ์ฌ์ฉํ๋ฏ๋ก ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์
ํค์๋ | ์ข ๋ฅ | ์ฐ๊ดํค์๋ | ์ค์ฝํ |
if | ์กฐ๊ฑด๋ฌธ | - | ๋ธ๋ก ์ค์ฝํ |
switch | ์กฐ๊ฑด๋ฌธ | case, break, default | ๋ธ๋ก ์ค์ฝํ |
while | ๋ฐ๋ณต๋ฌธ | break, continue | ๋ธ๋ก ์ค์ฝํ |
for | ๋ฐ๋ณต๋ฌธ | break, continue | ๋ธ๋ก ์ค์ฝํ |
for...in | ๋ฐ๋ณต๋ฌธ | ๊ฐ์ฒด ์ํ | ๋ธ๋ก ์ค์ฝํ |
for...of | ๋ฐ๋ณต๋ฌธ | iterable ์ํ | ๋ธ๋ก ์ค์ฝํ |
'๐ถ Programming > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2. ๋ณ์์ ์๋ฃํ (0) | 2022.11.20 |
---|---|
1. JavaScript ์์ํ๊ธฐ (0) | 2022.11.06 |