Function, return type과, void의 유무에 대하여

Yeonkor·2020년 9월 9일
0

Javascript

목록 보기
2/12

일반적으로, 함수는 함수 외부의 경우엔 코드에 의해 호출될 수 있는 하위의 논리 구조(프로그램)이다.

[1] Return Type

프로그램 그 자체처럼, 함수는 일련의 구문으로 구성되어있다. 값은 함수에 전달될 수 있고 함수는 값을 반환하는 것이 기본이다. 그래서인지 함수는 값 그 자체이다.

function numberSum(a,b)

{ 
   return a+b;
}


console.log(numberSum(3,3)); //numberSum(3,3) 은 6으로 출력된다.

JavaScript에서 모든 함수는 'Function'객체다. 논리구조를 지니는 일반적인 함수도, 재귀함수도, 내부함수도, 생성자 역시 마찬가지다.

new 키워드로 호출되는 생성자의 경우에, 기본값은 자신의 this 매개변수 값인 것이 특징이다. ( = 생성자의 경우 ! )

기본값 이외의 값을 반환하려면, 함수는 반환할 값을 지정하는 특정 명시의 return 문이 있어야한다. return 문이 없는 함수는 기본값을 반환한다.

다른 모든 함수의 경우, 기본 반환값은 undefined이다. 함수 호출의 매개변수는 함수의 인수이며, 인수는 함수에 값으로 전달된다.
함수가 인수값을 바꾸면, 이 변화는 전역 또는 호출한 함수에 반영되지 않는다.

function A(){

   this.value = 34;
   console.log(this.value);
   // return 생략

}

A(); // 함수호출시 자동으로 value 34가 출력



function B(){
   
   return;
   // return 생략

}


B(); // Undefined ;

[2] Void

void는 값을 생성하는 표현식을 평가해서 undefined를 반환한다.

/피연산자가 숫자
console.log(void 92); // => undefined  

//피연산자가 문자열
console.log(void "CTO가 되는 중"); // => undefined

var x = 32;
void x++; // 피연산자 선 평가 후 변수의 값이 증가
console.log(x); // => 33
console.log(void(x)); // => undefined

오직 undefined 원시값을 얻기 위해 void 0 또는 void(0)처럼 사용하는 경우도 볼 수 있다. 이런 경우 전역 undefined를 대신 사용 가능하다.

void 연산자의 우선순위도 유념해야한다. 그룹 연산자(괄호)를 사용하면 void 연산자를 사용한 식의 평가 과정을 더 명확하게 보일 수 있다.


 void 14 == '14'; // undefined == '14', false
void (33 == '33'); // void true, undefined

즉시 실행 함수 표현식(IIFE)을 사용할 때 void를 사용하면 function 키워드를 선언문이 아니라 표현식처럼 간주하도록 강제할 수 있다.

void function iife() {
    var bar = function () {};
    var baz = function () {};
    var foo = function () {
        bar();
        baz();
     };
    var biz = function () {};

    foo();
    biz();
}();

profile
CTO를 꿈꾸는 CDO

0개의 댓글