[JavaScript] Arrow Function

문규찬·2021년 2월 18일
post-thumbnail

드림코딩 by 엘리
출처 : https://www.youtube.com/channel/UC_4u-bXaba7yrRz_6x6kb_w
엘리님의 Javascript 기초 영상을 보며 정리하였습니다.

기초적이지만 정리해서 기록하면 괜찮다고 생각했던 부분만 작성하였습니다.

Function


input(parameters) -> Function (naming 중요) -> output (return)

1.Function declaration

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

  • 하나의 함수는 한가지 일만 해야한다
  • naming은 동사형태로 ex) doSomething
function printHello(){
console.log('hello')
}
printHello();

파라미터는 받지 않고 함수를 호출해서 hello를 출력했습니다

function log(message){
console.log(message);
}
log('hello');

파라미터로 message를 전달하면 이 전달된 메세지를 화면에 출력합니다
log("원하는 메세지")


2.parameters

premitive parms : value가 전달되고
object parms : 레퍼런스 그대로 전달

아래의 예시를 보고 다른 방법으로 위에 함수를 작성해 보았습니다. changeNick 함수를 보면 전달된 object의 이름을 coder로 무조건 변경하는 함수입니다.
kyu라는 변수를 선언해서 object를 할당해주고 함수를 호출해서 kyu를 받으면 이름이 coder로 변경 되는 것을 확인할 수 있습니다.


3.Default parameters (massage , from)

example 함수의 파라미터로 message와 from의 두가지를 받아옵니다.
함수를 호출하고 'hi'만 작성하면 message만 전달되고 from 정의가 안되어 있기 때문에 처음부터 파라미터를 가질때 sinae라는 값을 지정해줘도 됩니다.


4.Rest parameters

...을 작성하면 배열 형태로 전달하게 됩니다. printAll함수를 호출하고 인자를 3개를 전달하면서
즉 3개의 값이 담겨져 있는 배열 형태로 전달됩니다. ( arr[0]은 'dream'이 3번 출력됩니다.)


5. Local scope

밖에서는 안이 보이지 않고 안에서만 밖을 볼 수 있다. (썬팅개념)

globalMessage는 전역변수
message는 block안에서 선언한 변수로 지역변수입니다. 만약 console.log(message)를 block밖에서 불러온다면 에러! 하지만 console.log(globalMessage)는 밖에서도 출력이 가능합니다.


6.function expression

함수를 print라는 변수에 할당하게 되면 print를 호출시 함수를 호출하게 됩니다. 또한 printAgain라는 변수에 다시 그 print를 할당하여도 같은 함수를 호출합니다.


7.callback function

Quiz라는 함수에는 Quiz( 정답, 정답이 맞을때 호출할 함수, 정답이 아닐때 호출할 함수)
너가 상황이 맞다면 전달된 함수를 불러! -> callback 함수

정답인 answer가 'love you'라면 printYes라는 함수를 호출하고
아니면 printNo를 호출해!


8.Arrow function

Arrow function은 이름이 없는 anonymous 함수입니다.
이전에 사용하던 함수식은 간결하게 할 수 있습니다.

const add = function (a,b){
return a+b;
}

를 Arrow function으로 표시한다면

const add = (a,b) => a+b;

block을 이용한다면?

const simpleMultiply = (a,b) => {
return a*b;
}

0개의 댓글