반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 예제로 배우는 스프링 입문
- effectivejava
- 코딩테스트
- 알고리즘
- JavaScript
- 티스토리챌린지
- Effective Java
- Sort
- ElasticSearch
- 알고리즘정렬
- 카카오 면접
- java
- Spring
- 자바
- 이펙티브 자바
- 오블완
- 스프링 핵심원리
- 김영한
- 클린아키텍처
- 스프링부트
- 스프링
- k8s
- 이펙티브자바
- Effective Java 3
- 엘라스틱서치
- 스프링핵심원리
- 이차전지관련주
- 카카오
- kubernetes
- 자바스크립트
Archives
- Today
- Total
Kim-Baek 개발자 이야기
JavaScript Function (자바스크립트 함수) 본문
JavaScript Function
함수 정의하기
- 자바스크립트 함수는 3가지 방법으로 생성할 수 있다.
- 함수 선언문
- 함수 표현식
- Function() 생성자 함수
1. 함수 선언문 방식
- 함수 선언문 방식은 객체 리터렁 방식과 같다. 자바스크립트에서는 함수도 일반 객체처럼 취급하기 때문이다.
- 함수 선언문 방식으로 정의할 경우 반드시 함수명이 정의 되어야 한다.
function sum(x, y) {
return x+y;
}
2. 함수 표현식 방식
- 자바스크립트에서는 함수도 하나의 값처럼 취급된다.
- 함수를 만들고 변수에 할당하여 생성하는 것을 함수 표현식이라 한다.
//sum 이라는 변수에 두 값을 더해주는 익명 함수 참조 값을 저장한다.
var sum = function(x, y) {
return x+y;
}
var add = sum;
console.log(add(3,3)); //6
console.log(sum(3,4)); //7
var sum = function add(x, y){
return x+y;
}
console.log(sum(3,3)); //6
console.log(add(3,3)); //add is not defined 에러 발생
> 함수 표현식에서 사용된 함수 이름은 외부 코드에서 접근이 불가능하다. 대신 재귀 호출과 같은 내부에서 호출은 가능하다.
3. Funtion() 생성자 함수를 통한 호출
- 일반적으로 자주 사용되지는 않는다.
var add = new Function('x', 'y', 'return x+y');
console.log(add(3,3)); //6
함수 호이스팅
- 더글라스 크락포드의 자바스크립트 핵심가이드 에서는 함수 호이스팅 때문에 함수 표현식만 사용 할 것을 권장한다.
함수 선언문 방식 - 함수 호이스팅 때문에 함수가 정의되기 전부터 사용이 가능하다.
add(3,3); //6
function add(x, y){
return x+y;
}
add(3,4); //7
함수 표현식 방식 - 함수 표현식의 경우 함수 호이스팅이 일어나지 않는다.
add(3,3); //Error
var add = function(x, y){
return x+y;
}
add(3,4); //7
반응형
'개발 > JavaScript' 카테고리의 다른 글
자바스크립트 개발환경 및 디버깅 (0) | 2020.11.24 |
---|---|
Javascript Call, This (0) | 2020.10.04 |
Javascript Function Object (자바스크립트 함수 객체) (0) | 2020.10.03 |
JavaScript Data Type (자바스크립트 데이터 타입) (0) | 2020.10.01 |
Javascript 간단 개념 (0) | 2020.09.30 |
Comments