TIL JS 4일차

Dahoon Lee·2021년 9월 22일
0

TIL_JavaScript

목록 보기
5/5
post-thumbnail

함수에 관한 내용
드림코딩 by 엘리님의 5강


Function

함수: 내가 알고있는 함수와 비슷.

파라미터

함수 인자로 전달하는 것.
primitive한 파라미터는 값으로 전달.
object를 파라미터로 전달하면 참조(reference)에 의해 전달.

function changeName(obj){
    obj.name = 'coder';
}
const dahoon = {name: 'dahoon'};
changeName(dahoon);
console.log(dahoon.name);

//출력: coder

Default parameters

입력되지 않은 파라미터 값을 출력할 때 undefined로 출력되지만 파라미터에서default값을 지정 가능.

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

Rest parameters

함수의 파라미터를 배열의 형태로 받을 수 있다.

function printAll(...args){
    for( let i=0; i<args.length; i++){
        console.log(args[i]);
    }
    for(const arg of args){
        console.log(arg);
        //for(auto i: args) 같이 쓴다.
    }
    args.forEach((arg) => console.log(arg));
}
printAll('hi','hello','1');

//배열 형태로 받을 수 있음.

Localscope

2일차 TIL 참고 (https://velog.io/@yogongman/TIL-JS-2%EC%9D%BC%EC%B0%A8#-block-scope)


First-class function

함수를
변수처럼 할당 가능.
인자로 전달 가능.
다른 함수의 리턴 값으로 가능.

Hoisting

호이스팅 가능. (선언부 최상단으로)

Callback

Arrow function

//arrow function
const simplePrint = function(){
    console.log('simple print!');
};

const simpleprint = () => consolg.log('silePrint!');
const add = (a,b) => a + b; // 파라미터, 리턴값
const simpleMultiply = (a,b) => {
    // do something more
    return a*b; //리턴 값 명시 해주어야함.
}
//IIFE: Immediately Invoked Function Expression
function hello(){
    console.log('IIFE');
}
hello(); // 기존의 호출 방법은 선언 후 호출을 했어야함.

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

// 선언과 동시에 호출 가능.
profile
뭐든 많이 해보고 싶은 개발자

0개의 댓글