μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- css
- μ€λΌν΄
- μΉνμ΄μ§λ§λ€κΈ°
- html
- κΉλ―Έκ²½μλ§νμμ
- λ°μν
- λ§μΌλ΄κ°μΈμμλ€μμ°λ€λ©΄
- Python
- λΌνλΌμ€μλ§λ
- ComputerScience
- λ°μ΄ν°λ² μ΄μ€
- μν
- μλ°
- μ₯νΈμμ€
- Kλ°°ν°λ¦¬
- Java
- κΉνλ¨
- κ°λ°
- νμ΄μ¬
- μ»΄ν¨ν°κ³Όν
- λ μ
- μ±
- κΉλ―Έκ²½
- μ½λ©
- Kλ°°ν°λ¦¬λ 볼루μ
- JavaScript
- μΉνΌλΈλ¦¬μ±
- νλ‘κ·Έλλ°
- μλ°μ€ν¬λ¦½νΈ
- database
- Today
- Total
JiYoung Dev π₯
[μλ°μ€ν¬λ¦½νΈ] λ³μ / ν¨μ / 맀κ°λ³μ / return λ³Έλ¬Έ
[μλ°μ€ν¬λ¦½νΈ] λ³μ / ν¨μ / 맀κ°λ³μ / return
Shinjio 2023. 2. 15. 18:222023.02.15 νμ΅ λ΄μ©
< μ°Έκ³ μλ£ >
λ³μ(Variables)
- λ³μλ, μ΄λ€ κ°(λ°μ΄ν°)μ μ μ₯νκΈ° μν΄ μ°μ΄λ μ΄λ¦μ΄ λΆμ μμ(μ μ₯μ)
- λλ€μμ μλ°μ€ν¬λ¦½νΈ μ ν리μΌμ΄μ μ μ¬μ©μλ μλ²λ‘λΆν° μ λ ₯λ°μ μ 보λ₯Ό μ²λ¦¬νλ λ°©μμΌλ‘ λμ
- μ : μ¨λΌμΈ μΌνλͺ° → ν맀 μ€μΈ μνμ΄λ μ₯λ°κ΅¬λ λ±μ μ 보, μ±ν μ ν리μΌμ΄μ → μ¬μ©μμ μ 보, λ©μμ§ λ±
- λ³μλ μ΄λ¬ν μ 보λ₯Ό μ μ₯νλ μ©λλ‘ μ¬μ©
λ³μ μ μΈνκΈ° let
let λ³μμ΄λ¦ ;
λ³μμ΄λ¦μ λ°μ΄ν°(κ°)λ₯Ό μ μ₯νλ €λ©΄ ν λΉ μ°μ°μ ' = ' μ¬μ© (μ΄κΈ°ν)
let λ³μμ΄λ¦ ;
λ³μμ΄λ¦ = κ° ;
λ³μλ μ μΈκ³Ό λμμ κ°μ λ£μ΄μ€ μ μμ
let λ³μμ΄λ¦ = κ°;
ν μ€μ μ¬λ¬ κ°μ λ³μλ₯Ό μ μΈν μ μμ
// λΉκΆμ₯
let user = 'John', age = 25, message = 'Hello' ;
μ΄λ¬ν μμ±μ μ½λκ° μ§§μ 보μ΄κΈ΄ νμ§λ§ κΆμ₯νμ§ μμ. κ°λ μ±μ μν΄ ν μ€μ νλμ λ³μλ₯Ό μμ±ν κ²
// κΆμ₯
let user = 'John' ;
let age = 25 ;
let message = 'Hello' ;
β» let λμ var
var λν letκ° κ±°μ λμΌνκ² μλνμ¬ λ³μλ₯Ό μ μΈνλλ° μ°μ. λ€λ§, varμ μ€λλ λ°©μμΌλ‘ μ΅κ·Όμλ letμ μ£Όλ‘ μ¬μ©. κ·Έλ¬λ κ³Όκ±° μ½λλ₯Ό ν΄μνκΈ° μν΄μλ μμλ νμλ μμ
λ³μ μμ νκΈ°
λ³μμλ μ΄λ€ κ°μ΄λ λ£μ μ μκ³ , μνλ λ§νΌ κ°μ λ³κ²½ν μλ μμ
μλμ κ°μ΄ κ°μ΄ λ³κ²½λλ©΄, μ΄μ λ°μ΄ν°λ λ³μμμ μ κ±°λ¨
let message ; // λ³μ μ μΈ
message = 'Hello!' ; // μ΄κΈ°ν
message = 'World!' ; // κ°μ΄ λ³κ²½λμμ΅λλ€.
β» λ³μλ ν λ²λ§ μ μΈν΄μΌ ν¨. λ λ² μ μΈνλ©΄ μλ¬ λ°μ
λ³μ μ΄λ¦μ§κΈ°
κΌ μ§μΌμΌ νλ κ·μΉ
- JavaScript μλ³μλ 'λ¬Έμ(a-z, A-Z)', λ°μ€(_) νΉμ λ¬λ¬ κΈ°νΈ($)λ‘ μμν΄μΌ ν¨
- 첫 κΈμλ μ«μκ° λ μ μμ. λ λ²μ§Έ κΈμλΆν°λ μ«μ(0-9)λ κ°λ₯
- νΉμλ¬Έμ, ν€λ¦΄ λ¬Έμ, νμ, νκΈ λ±λ λ³μλͺ μ μ¬μ©ν μ μμΌλ μμ΄λ₯Ό μ¬μ©νλ κ²μ΄ κ΅μ μ κ΄μ΅μ΄λ―λ‘ μμ΄λ₯Ό μ¬μ©ν΄μ
λ§λλ κ²μ κΆμ₯
- λλ¬Έμμ μλ¬Έμ ꡬλ³
- μμ½μ΄λ λ³μλ‘ μ¬μ©ν μ μμ (if, for, let, class, return, function λ±)
μ§ν€λ©΄ μ’μ κ·μΉ
- μλ―Έ μλ μ΄λ¦μ μ¬μ©νμ§ μλ κ² μ’μ. λμ€μ μ΄λ€ κ°μ μ μ₯ν΄ λλμ§ μ°ΎκΈ°λ μ΄λ ΅κ³ νμ©νκΈ°λ μ΄λ €μ
- λ무 μΆμμ μΈ μ΄λ¦μ μ¬μ©νμ§ μλ κ² μ’μ (ex. name)
- λͺ¨λ λ³μμ μ΄λ¦μ 'camelCase'λ‘ μ°λ κ²μ΄ μ’μ. λ³μλͺ μλ λμ΄μ°κΈ°κ° λΆκ°λ₯νκΈ° λλ¬Έμ 첫 λ²μ§Έ κΈμλ μλ¬Έμλ‘ νκ³ ,
λμ΄μ°κΈ°κ° μλ κ° λ¨μ΄μ 첫 λ¬Έμλ₯Ό λλ¬Έμλ‘ νκΈ°νλ λ°©μ
μ°Έκ³ μλ£
Airbnbμ μλ°μ€ν¬λ¦½νΈ μ€νμΌ κ°μ΄λ
Googleμ μλ°μ€ν¬λ¦½νΈ μ€νμΌ κ°μ΄λ
w3schools.comμ μλ°μ€ν¬λ¦½νΈ μ€νμΌ κ°μ΄λ
λ³μ Scope
μ§μλ³μ
λΈλ‘λ¬Έ λ΄μμ μ μΈν λ³μμΈ μ§μ λ³μ(local variable)λ λΈλ‘λ¬Έ μμμλ§ μ κ·Όν μ μμ
function showMessage() { // λΈλ‘λ¬Έ (Block Statement)
let message = 'μλ νμΈμ!' ; // μ§μ λ³μ
alert(message) ;
}
showMessage() ; // μλ νμΈμ!
alert(message) ; // ReferenceError: message (ν¨μ λ°μμλ μ§μλ³μ μ¬μ© λΆκ°λ₯)
μΈλΆλ³μ (μ μ λ³μ (global variable))
ν¨μ μΈλΆμμ μ μΈλ λ³μλ‘ ν¨μ λ΄λΆμμ μΈλΆ λ³μ(outer variable)μ μ κ·Όν μ μμΌλ©° μμ λ κ°λ₯
μ½λλ₯Ό μμ±νλ νμΌ μ 체μμ μ¬μ©ν μ μμ
let userName = 'John' ; // μΈλΆ λ³μ
function showMessage() {
userName = 'Bob' ; // μΈλΆ λ³μ μμ
let message = 'Hello, ' + userName ;
alert(message) ;
}
alert(userName) ; // ν¨μ νΈμΆ μ μ΄λ―λ‘ John
showMessage() ;
alert(userName) ; // ν¨μμ μν΄ BobμΌλ‘ κ° λ³κ²½
- μΈλΆ λ³μλ μ§μ λ³μκ° μλ κ²½μ°μλ§ μ¬μ©ν μ μμ.
- ν¨μ λ΄λΆμ μΈλΆ λ³μμ λμΌν μ΄λ¦μ κ°μ§ λ³μκ° μ μΈλμλ€λ©΄, λ΄λΆ λ³μλ μΈλΆ λ³μλ₯Ό κ°λ¦°λ€.
- λ³μλ μ°κ΄λλ ν¨μ λ΄μ μ μΈνκ³ , μ μ λ³μλ λλλ‘ μ¬μ©νμ§ μλ κ²μ΄ μ’μ. λΉκ΅μ κ·Όλμ μμ±λ μ½λλ€μ λλΆλΆ
μ μλ³μλ₯Ό μ¬μ©νμ§ μκ±°λ μ΅μνμΌλ‘λ§ μ¬μ©. λ€λ§ νλ‘μ νΈ μ λ°μμ μ¬μ©λλ λ°μ΄ν°λ μ μ λ³μμ μ μ₯νλ κ²μ΄ μ μ©ν
κ²½μ°λ μμ
μμ κ·Έλ¦Όμ μ½λλ₯Ό μ€νν κ²°κ³Όλ? μ€λ₯κ° λ°μνλ€.
WHY? 4λ²μ§Έ μ€κΉμ§λ myFunction()μ λν ν¨μλ₯Ό μ μν κ²μΌλ‘ λ¬Έμ μμ. 6λ²μ§Έ μ€μΈ myFunction()μ μ€ννλ©΄ λ‘컬λ³μ x μ λ¬Έμμ΄ μ½λμμ΄ ν λΉλκ³ , κ·Έ μλ«μ€λ‘ λμ΄κ° λ‘컬λ³μ xμ λ¬Έμμ΄ μμ§λ‘κ° ν λΉλ¨.(ν λΉλ§ λ λΏ μΆλ ₯μ νμ§ μμ) κ·Έλ¦¬κ³ λμ 7λ²μ§Έ μ€μΈ console.log(x) μ€ν. κ·Έλ¬λ xλ myFunction() λ΄μμ μ μλ λ‘컬λ³μμ΄λ―λ‘ ν¨μ λ°μμλ μ¬μ© λΆκ°λ₯. λ°λΌμ μ€λ₯ λ°μ
ν¨μ (function)
μ¬μ¬μ©νκΈ°λ₯Ό μνλ κΈ°λ₯μ λ΄λ λ°©λ²
- μ€ν¬λ¦½νΈλ₯Ό μμ±νλ€ λ³΄λ©΄ μ μ¬ν λμμ νλ μ½λκ° μ¬λ¬ κ³³μμ νμν λκ° λ§μ
- μ¬μ©μκ° λ‘κ·ΈμΈμ΄λ λ‘κ·Έμμμ νμ λ μλ΄ λ©μμ§λ₯Ό 보μ¬μ£Όλ λμ κ°μ κ²½μ°κ° μ΄μ ν΄λΉν¨
- ν¨μλ νλ‘κ·Έλ¨μ ꡬμ±νλ μ£Όμ 'κ΅¬μ± μμ(building block)'μΌλ‘ ν¨μλ₯Ό μ΄μ©νλ©΄ μ€λ³΅ μμ΄ μ μ¬ν λμμ νλ μ½λλ₯Ό
μ¬λ¬ λ² νΈμΆν μ μμ
ν¨μ μ μΈ function
ν¨μ μ μΈμ functionμ΄λΌλ ν€μλλ‘ μμν΄μ ν¨μ μ΄λ¦μ μμ±νκ³ , μκ΄νΈλ₯Ό μ΄μ΄ νλΌλ―Έν°λ₯Ό μμ±
μ¬λ¬ κ°μ νλΌλ―Έν°λ μΌνλ‘ κ΅¬λΆν΄μ μμ±
function ν¨μλͺ (맀κ°λ³μ, 맀κ°λ³μ) {
λͺ λ Ή ;
}
ν¨μ μ΄λ¦ μ§κΈ°
- ν¨μλ μ΄λ€ λμμ μννκΈ° μν μ½λλ₯Ό λͺ¨μλμ κ²μ΄λ―λ‘ ν¨μμ μ΄λ¦μ λκ° λμ¬
- ν¨μ μ΄λ¦μ κ°λ₯ν ν κ°κ²°νκ³ λͺ νν΄μΌ νλ©° ν¨μκ° μ΄λ€ λμμ νλμ§ μ€λͺ ν μ μμ΄μΌ ν¨
- ν¨μ νλλ λμ νλλ§ λ΄λΉν΄μΌ ν¨
맀κ°λ³μ(parameter)
맀κ°λ³μλ₯Ό μ¬μ©νλ©΄ μμμ λ°μ΄ν°λ₯Ό ν¨μ μμ μ λ¬ν μ μμ
κΈ°λ³Έκ°(undefined)
ν¨μ νΈμΆ μ 맀κ°λ³μμ μΈμλ₯Ό μ λ¬νμ§ μμΌλ©΄ κ·Έ κ°μ undefinedκ° λ¨
function showMessage(from, text) {
alert(from + " : " + text) ;
}
showMessage("Ann") ; // Ann : undefined
맀κ°λ³μμ κ°μ μ λ¬νμ§ μμλ κ·Έ κ°μ΄ undefinedκ° λμ§ μκ² νλ €λ©΄ ν¨μλ₯Ό μ μΈν λ =λ₯Ό μ¬μ©ν΄ 'κΈ°λ³Έκ°(default value)'μ μ€μ νλ©΄ λ¨ ==> μ΅μ λ νλΌλ―Έν°(optional parameter)
맀κ°λ³μκ° λ°λ¦¬μ§ μλλ‘ κ°μ₯ λ€μͺ½μ μμ±ν κ²
function showMessage(from, text = 'no text given') {
alert(from + " : " + text) ;
}
showMessage("Ann") ; // Ann : no text given
λ°ν κ°(return value)
returnμ ν¨μκ° λͺ λ Ήλ€μ μ€νμν€λ κ²λΏλ§ μλλΌ κ°μ΄ λ μλ μμ
ν¨μλ₯Ό νΈμΆνμ λ ν¨μλ₯Ό νΈμΆν κ·Έκ³³μ νΉμ κ°μ λ°ννκ² ν μ μμ. μ΄λ μ΄ νΉμ κ°μ λ°ν κ°μ΄λΌκ³ ν¨
returnμ ν¨μ λ΄ μ΄λμλ μ¬μ©ν μ μμΌλ©° μ€ν νλ¦μ΄ returnμ λ§λλ©΄ ν¨μ μ€νμ μ¦μ μ€λ¨λκ³ ν¨μλ₯Ό νΈμΆν κ³³μ κ°μ λ°νν¨. returnλ§ λͺ μνλ©΄ ν¨μκ° μ¦μ μ’ λ£
β» returnκ³Ό κ° μ¬μ΄μ μ λ μ€μ μ½μ νμ§ λ§ κ²
λ°ννλ €λ κ°μ΄ κΈ΄ ννμμΈ κ²½μ° μλμ μ€μ μμ±νκ³ μΆμ μ μμΌλ μλ°μ€ν¬λ¦½νΈλ returnλ¬Έ λμ μΈλ―Έμ½λ‘ μ μλμΌλ‘ λ£κΈ° λλ¬Έμ κ΄νΈλ₯Ό μ΄μ©ν΄ μμ±ν΄μΌ ν¨
1.
return
(some + long + expression + or + whatever)
2.
return ;
(some + long + expression + or + whatever)
1κ³Ό 2λ κ°μ νν
3.
return (
some + long + expression + or + whatever
)
3λ²κ³Ό κ°μ΄ μμ±ν΄μΌ ν¨
μ°Έκ³ λ‘ νΉμ ν μΈμ΄μμλ λ³μλ₯Ό μ μΈνκ³ μ¬μ©νμ§ μμΌλ©΄ μ€λ₯λ₯Ό λ°μμν΄. JavaScriptλ λ³μλ₯Ό μ μΈνκ³ μ¬μ©νμ§ μμλ€κ³ ν΄μ μ€λ₯λ₯Ό λ°μμν€μ§ μμ. κ·Έλ¬λ λ³μλ ν¨μλ μ μΈμ νκ³ μ¬μ©νμ§ μλ μ½λλ₯Ό μμ±νλ κ²μ μ½λμ μ±λ₯μ λ¨μ΄λ¨λ¦¬κ³ , μμμΉ λͺ»ν μ€λ₯λ λΆνΈν κ°λ μ±μ μμΈμ΄ λ μ μμ. λΆνμν μ½λλ κ°κΈμ μμ±νμ§ λ§ κ² κΆμ₯!
return κ³Ό console.logμ μ°¨μ΄
returnλ¬Έμ΄ μλ ν¨μλ₯Ό μ€ννλ©΄ undefinedκ° μΆλ ₯λ¨
return - ν¨μλ₯Ό μ€ννκ³ μ΄λ€ κ°μ λλ €μ£Όλ κ² (μ½μμ μΆλ ₯ X)
console.logλ μ½μμ μ΄λ€ κ°μ μΆλ ₯ν΄ μ£Όλ κ²