여니의 프로그래밍 study/JavaScript

함수 (Javascript)

여니's 2021. 3. 9. 22:39

함수 매개변수

Function message(from, text='no text given'){

alert(from + ":" + text);

}

Message("ann")

>>만약 text 매개변수에 값이 전달되지 않았을 경우에는

Undefined가 전달된다.

그러나 위 코드 같은 경우에는

값이 할당되지 않았을 때

no text given이라는 값이

Undefined 대신 할당된다.

 

함수 선언할 때 기본값을 따로 설정해두는 방법도 있지만,

If문을 이용해서 함수 내에서 설정해주는 방법도 있다.

 

Function message(text){

if (text==undefined){

text='Hello';

}

}

 

아니면 논리연산자 ||를 이용하는 방법도 있다.

Function message(text){

text=text||'hello';

}

 

 


Return 문

 

만약 함수 내에 return 문이 없거나, 

Return; 이런식으로 지시자만 있을 경우에는?

Undefined를 반환한다.

 

그리고 자바스크립트는 return문 끝에 

세미콜론을 자동으로 넣는다.

 


함수 : 어떤 동작을 수행하기 위해 기능을 모아둔 것!ㅎ

함수는 동사에 해당하는 역할이다.

관련 있는 기능들끼리 묶어두니까, 코드의 가독성도 좋아지고

다른사람들이 코드를 해석할 때 더 편리하다.

 

함수 이름짓기

Show.. : 무언가를 보여주는 함수

Get.. : 값을 반환함

Calc.. : 무언가를 생성함

Check.. : 무언가를 확인하고 불린값을 반환한다.

 

주의해야할 점****

> 함수는 동작 하나만 담당해야 한다.

왜냐하면?

 

 

 


함수 == 주석 

함수는 간결하고, 한 가지 기능만 수행해야 한다.

함수가 길어지면?

>> 각 기능에 맞게 함수를 쪼개줘야 한다.

 

함수를 간결하게 하면 좋은점!?

>> 테스트와 디버깅이 쉬워진다.

그리고 함수 그 자체로 주석의 역할까지 한다.

 

과제1

Function min(n1,n2) {

if n1>n2:

return n2

else:

return n1

}

min(2,5)

 

 


자바스크립트 함수

함수는 일급 객체(first class)이고, 유효범위를 제공한다.

 

-일급 객체

: 다른 객체들에게 적용 가능한 연산을 모두 지원하는 객체이다.

type을 전달, 반환 및 할당할 수 있는 경우,

해당 type을 1급 객체로 간주한다.

 

자바 스크립트에서는,

1. 함수를 변수나 데이터에 할당할 수 있다.

2. 함수를 인자로 전달할 수 있다.

3. 함수를 리턴할 수 있다.

=>일급 객체의 조건이다.

 

 

함수를 사용하면서 얻는 이점?

반복적인 부분을 줄일 수 있다. (중복제거)