함수의 선언과 표현

함수의 선언과 표현

Santino 2023. 6. 23. 02:25

// Function

// fundamental building block in the program

// subprogram can be used multiple times

// performs a task or calculates a value (1가지의 일 또는 계산하기 위해 사용됨)

 

1. Function declaration

// function name(param1, param2) { body... return; }

// one function === one thing (하나의 함수는 한가지의 일만 하도록 만들 필요)

// naming: doSomething, command, verb

// e.g. createCardAndPoint -> createCard, createPoint (세분화해서 나눌 수 있지는 않을지 고민 필요)

// function is object in JS (function은 객체임)

 

[Javascript] " Function() " vs " Const = () => "
 

간략하게 그 둘의 차이를 말하자면, 범위 ( Scope)의 차이라고 정의 할 수 있겠다.


1) function () 같은 경우는 다른 문장의 가장 상단에서 읽히는 hoisting 이 허용이 되고,
 
2) const = () => 같은 경우에는 block 내부에서만 구현이 가능한 범위를 가지고 있으며, 
  다시 선언이 될 수 없다는 특징을 가지고 있다.

 

// 2. Parameters

// premitive parameters: passed by value

// object parameters: passed by reference

function ChangeUserName(User) {
  User.name = 'santino';
}

const sangmin = { name: 'sangmin' };
ChangeUserName(sangmin);
console.log(sangmin);

 

3. Default parameters (added in ES6)

function showMessage(message, from){
     console.log(`${message} by ${from}`);
}

showMessage('Hi');