JAVA script

[JavaScript] 참조형 데이터 - function(함수)

peach_h 2023. 5. 6. 02:08

함수는 JavaScript에서 하나의 데이터고, 뒤에 소괄호를 열고 닫아야 함수가 동작한다.

 

// function
function hello() {
    console.log('Hello!')
}
// call
hello()

 

 

함수에 소괄호를 쓰지 않으면?
function getNumber() {
    return 123
}

console.log(getNumber)
console.log(getNumber())

 

단순히 함수 그 자체가 출력되는 것을 확인할 수 있다.

함수 자체와 소괄호를 열고 닫아서 호출하는 것은 다르다.

소괄호를 열고 닫아 함수를 호출해야, 함수에 지정한 return 값이 나온다.

 

 

 

 

타입 확인
function getNumber() {
    return 123
}
console.log(typeof getNumber)
console.log(typeof getNumber())

 

함수에 소괄호가 붙어있으면, 그 함수의 return 값의 종류가 typeof에 출력되고

함수 그 자체라면 function으로 출력된다.

 

 

 

 

변수에 익명함수를 넣어도 동일하게 동작함
// 이름이 없는 익명함수
const getNumber = function() {
    return 123
}

console.log(typeof getNumber)
console.log(typeof getNumber())

 

function 실습
const a = function(){
    console.log('A')
}

const b = function(c){
    console.log(c)
}

b(123)
b(a)

 

b에 a를 넣어도, c를 함수로 동작시키는게 아닌 

통으로 출력하도록 써놨기 때문에 a가 통으로 출력되는 것을 확인할 수 있음

 

 

 

const a = function(){
    console.log('A')
}

const b = function(c){
    console.log(c)
    c()
}
b(a)

 

b에 들어있는 함수의 매개변수인 c에 소괄호를 열고 닫는 동작을 작성하여,

a의 함수를 동작하게 할 수 있다 !

 

 

함수는 하나의 데이터로써,

함수 자체함수의 호출(소괄호사용)은 전혀 다른 개념이라는 것을 꼭 기억하자 !

 

 

쉽지 않다 JS ..