# function declaration

[모던 자바스크립트 튜토리얼] 2.16 함수 표현식
함수 표현식 자바스크립트에서는 함수를 대하는 방식이 다른 언어와 조금 다르다. 특별한 동작을 하는 구조가 아닌 특별한 종류의 값으로 취급한다. 일반적으로는 함수 선언, 함수 선언문 방식으로 함수를 만든다. 외에도 함수 표현식(Function Expression)으로 함수를 만들 수 있다. 함수를 생성하고 변수에 함수를 할당하는 개념이다. 함수가 어떤 방식으로 만들어졌는지에 관계없이 함수는 값이기에, 변수에 할당할 수 있다. sayHi 함수가 실행되지 않고 코드만 보이는 이유는 호출 시 괄호를 붙이지 않아서이다. 특정 언어에서는 함수 이름만 언급해도 함수가 실행되지만 자바스크립트는 괄호가 있어야만 함수가 호출된다. 함수를 값으로 취급할 수 있기 때문이다. '기능'이 있는 특별한 값이라고 생각하면 될 것 같다. 그리고 값이기 때문에 값에 할 수 있는 일을 함수에도 할 수 있다. 위 두 방식의 미묘한 차이가 있다면 세미콜론의 유무이다. if(){},

[JS] 함수 표현식과 함수 선언 간단 비교
function a() {}와 var a = function(){}의 차이는 무엇인가? 함수 표현식 해당 라인에 도달할 때만 정의됨. 함수 선언과 다르게 호이스팅 되지 않음. 함수 선언 함수 선언은 그 선언을 둘러싼 함수의 최상부나 저역 범위로 끌어올려짐(호이스팅). 함수 표현식과 함수 선언 차이 함수 표현식은 호이스팅되지 않고 함수 선언은 호이스팅 된다. 함수표현식 함수 선언 > 🔖 참고 [MDN 함수 표현식](https://developer.mozilla.org/ko/docs

[JS] Arrow Function, 함수의 선언과 표현
출처 : 유튜브 드림코딩 자바스크립트 Function fundamental building block in the program(프로그램을 구성하는 굉장히 기본적인 buildidng block)** subprogram can be used multiple times performs a task or calculate a value** 1. Function declaration (function을 정의하는 방법) function name(param1, param2){body.... return;} one function === one thing (하나의 함수는 한 가지의 일만 하도록 만들어야한다.) naming : doSomething, command, verb e.g. createCarAnndPoint -> createCard, createPoint 로 나누는 게 더 좋다. function is object in JS -> function을

자바스크립트의 함수 | JavaScript Basics
자바스크립트의 함수 1. 함수 (Functions) 1-1. 함수란? >함수란 명확한 목적에 의해 입력받은 값을 설계된 프로세스를 거쳐 가공, 저장, 할당, 전달하기 위한 코드의 기능적 집합이라고 할 수 있다. 같은 작업을 몇 번이고 반복할 수 있으며, 조금만 고쳐서 재활용할 수도 있다. 함수의 기능을 비유하는 많은 예시가 있지만, 음료를 포장하는 기계를 함수에 비유해서 생각해보자. 1-2. 함수의 구성 packaging이라는 이름의 이 기계는 재료(병, 음료, 뚜껑, 라벨)를 받아 기계 내부의 프로세스를 거쳐 완성된 음료병을 반환한다. 
Function 정리
함수 정의 | 함수 정의 형식 | 예시 | | -------------------- | ----------------------------------------------- | | 함수선언문 | function add(x, y) { return x+y;} | | 함수표현식 | var add = function(x, y) { return x+y; } | | Function 생성자 함수 | var add = new function('x', 'y', 'return x+y'); | | 화살표 함수(ES6) | var add (x,y) => x+y; | 함수 선언문과 표현식 함수 선언문과 함수 표현식은 유사하게 동작하는 것으로 보이나 동일하게

[Javascript] 함수 선언식 vs 함수 표현식
자바스크립트에서의 함수는 '값'으로 취급되고, 함수를 표현하는 방법에는 두 가지 종류가 있다. 함수선언과 함수표현이 그것이다. 함수 선언(Function Declaration) 함수 표현(Function Expression) 함수 표현식에서는 함수를 생성하고 변수에 할당했다. 즉 함수는 변수에 할당될 수 있는 값이며, 그렇기 때문에 복사해서 다른 변수에 할당할 수도 있다. 함수 선언식과 함수 표현식의 차이점 함수 선언식은 호이스팅에 영향을 받지만, 함수 표현식은 호이스팅에 영향을 받지 않는다. var second 변수는 호이스팅이 적용되어 상단으로 끌어올려졌으나, 호출 이후에 function값이 할당되므로 second는 변수로 인식된다. (not a function) 함수 표현식은 호이스팅에 영향을 받지 않는다는 점 외에도, 함수 선언식보다 유용하게 쓰이는 경우가 있는데 1) 클로저로써의 사용 2) 콜백 함

TIL39: First Class Citizen
First Class Citizen : * Function* Assignment - 변수에 할당할 수 있다. Argument - 다른 함수의 인자로 전달될 수 있다. Return Value - 다른 함수의 결과로서 반환될 수 있다. >함수 정의 방법 Function Expression : 함수를 변수에 할당함으로써 함수를 표현 Function Declaration : 키워드를 이용하여 함수를 선언 함수 표현식과 함수 선언식의 결정적인 차이는 Hoisting의 적용 여부입니다. 선언식은 호이스팅이 적용되지만 표현식은 적용되지 않습니다. 다만 지나치게 선언식의 호이스팅에 의존하는 것은 유지 보수 측면에서 오히려 단점이 될 수 있습니다.(Declarative Programming, 선언적 프로그래밍) 반면에 표현식은 함수의 할당과 실행의 위치가 어느 정도 예측 가능하기 때문에 가독성이 좋지만 각 할당과 실행의

[Javascript]Function Expression vs Function Declaration
❗️ Defferences Function Declaration _ A Function Declaration_ can be called earlier than it is defined. When JavaScript prepares to run the script, it first looks for global Function Declarations in it and creates the functions - hoisting When a Function Declaration is within a code block, it’s visible everywhere inside that block. But not outside of it - Block Scope Function Expresstion A Function Expression is created when the execution reaches it - _