함수 매개변수
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. 함수를 리턴할 수 있다.
=>일급 객체의 조건이다.
함수를 사용하면서 얻는 이점?
반복적인 부분을 줄일 수 있다. (중복제거)
'여니의 프로그래밍 study > JavaScript' 카테고리의 다른 글
2-17 화살표 함수 기본 (Javascript) (0) | 2021.03.10 |
---|---|
2-16 함수 표현식과 함수 선언문(Javascript) (0) | 2021.03.10 |
[VSCode] Extensions 추가하기 (0) | 2021.03.09 |
2-9 비교 연산자 (Javascript) (0) | 2021.03.08 |
2-8 기본 연산자와 수학 (Javascript) (0) | 2021.03.08 |