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
- Dijkstra Algorithm
- 세마포어란?
- 세마포어와 뮤텍스
- 다익스트라 알고리즘
- 싸피
- SSAFY
- 호스팅
- 동기화
- Proxy Server
- Synchronization
- 뮤텍스
- 프록시
- 호스팅이란?
- 플로이드 워셜
- 싸피 면접 후기
- floyd-warshall
- 최단 경로
- 프록시서버
- 뮤텍스란?
- 다익스트라
- 서버 호스팅
- Proxy
- 웹 호스팅
- 세마포어
- 삼성 청년 SW 아카데미
- 싸피 합격
- 플로이드 와샬
- 클라우드 서버
- 세마포어와 뮤텍스의 차이
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
[자바스크립트] 함수 리턴 본문
자바스크립트 함수는 항상 리턴 값을 반환한다.
특히, return 문을 사용하지 않았더라도 다음의 규칙으로 항상 리턴값을 전달하게 된다.
1. 일반 함수나 메서드는 리턴 값을 지정하지 않은 경우, undefined 값이 리턴
var noReturnFunc = function(){
console.log('This function has no return statement');
};
var result = noReturnFunc();
// return문이 없는 함수의 경우, 이 함수를 호출할 떄 undefined 값이 리턴된다.
console.log(result); // undefined
2. 생성자 함수에서 리턴값을 지정하지 않을 경우, 생성된 객체가 리턴
- this로 바인딩된 새로 생성된 객체가 리턴된다.
- 때문에 생성자 함수에서는 일반적으로 리턴 값을 지정하지 않다.
만약? 다음 코드와 같이 생성자 함수에서 this로 바인딩되는 생성된 객체가 아닌 다른 객체를 리턴한다면? 어떻게 될까
function Person(name,age,gender){
this.name=name;
this.age=age;
this.gender=gender;
return {
name:'bar',
age:20,
gender:'woman'
};
};
// 객체 리터럴 방식의 특정 객체로 지정한 경우 new 연산자로 Person() 생성자 함수를 호출해서
// 새로운 객체를 생성하더라도 리턴값에서 명시적으로 넘긴 객체나 배열이 리턴
var foo = new Person('foo',30,'man');
console.dir(foo);
- 생성자 함수의 리턴 값을 새로 생성한 객체가 아니라, 객체 리터럴 방식의 특정 객체로 지정한 경우 new 연산자로 Person() 생성자 함수를 호출해서 새로운 객체를 생성하더라도! 리턴 값에서 명시적으로 넘긴 객체나 배열이 리턴된다.
- 아래는 리턴을 없앤 경우 this로 바인딩된 새로 생성된 객체가 리턴.
출처
'공부 > JavaScript && jquery' 카테고리의 다른 글
use strict 순수 바닐라 자바스크립트에서 쓰자! (0) | 2021.04.19 |
---|---|
async와 defer의 차이점 (0) | 2021.04.19 |
[자바스크립트] call과 apply (0) | 2021.04.16 |
[자바스크립트] 호출패턴과 this 바인딩 (1) | 2021.04.15 |
[자바스크립트] arguments객체 (0) | 2021.04.14 |
Comments