아랄라랄라
R 스토리
아랄라랄라
전체 방문자
오늘
어제
  • All (198)
    • Web (145)
      • Markup | WEB (9)
      • Styles (45)
      • javascript (32)
      • jquery (28)
      • vue (16)
      • react (10)
      • more (5)
    • IT (31)
      • CS (3)
      • git hub (5)
      • UI | UX (18)
      • more (5)
    • ETC (22)
      • 이슈노트 (12)
      • 스터디 (10)
      • 아랄라 ☞☜ (0)
      • JOB🛠 (0)

인기 글

반응형
hELLO · Designed By 정상우.
아랄라랄라

R 스토리

[자바스크립트] 함수를 정의할 때 주의할 네 가지
Web/javascript

[자바스크립트] 함수를 정의할 때 주의할 네 가지

2019. 8. 9. 10:40

 

 

1. return 명령은 도중에 개행(표시 위치를 다음 행의 동일 위치로 이동시키는 동작) 하지 않는다.

var getTriangle = function(base, height){
	return					// X
	base * height / 2;			// X
    
    	return base * height / 2    // O
}

 

+

위와 동일한 이유로 다음과 같은 문장에서도 명령 직후에 개행을 해서는 안 된다.

- 레이블문과 함께 기술된 break / continue 명령

- throw 명령

- ++, - 연산자(후치)

특히 복잡한 루프인 경우는 return 명령 이상으로 문제를 발견하기 어렵게 될 가능성이 있다.

 

 

 


 

 

2. 함수는 데이터형의 하나다.

 

Java Script에서 '함수는 데이터형의 일종'이다.

함수를 정의한다는 것은 실은 '변수에 함수형의 리터럴을 대립하는' 것과 동일하다.

 

var getTriangle = function(base, height){
	return base * height / 2;
}

console.log('삼각형의 면적 : '+ getTriangle(5,2));

 

 


 

 

3. function 명령은 정적인 구조를 선언한다.

 

function은 동적으로 실행되는 명령이 아니라 정적인 구조를 선언하기 위한 키워드이다.  '정적인 구조'라고 말하면 이해하기 어려울지도 모르겠지만, 요점은 'function 명령은 해석/컴파일하는 타이밍에 함수를 등록한다'는 것이다.

 

console.log('삼각형의 면적 : '+ getTriangle(5,2));

function getTriangle(base, height){
	return base * height / 2;
}

 

결과

 


 

 

4. 함수 리터럴/function 생성자는 실행할 때 판단된다.

 

function 명령과는 달리, 함수 리터럴/function 생성자는 실행 시(대입 시)에 판단된다.

따라서 함수 리터럴 /function 생성자로 함수를 정의하는 경우에는 '호출원의 코드보다 먼저 기술해야 할' 필요가 있다.

 

console.log('삼각형의 면적 : '+ getTriangle(5,2));

var getTriangle = function(base, height){
	return base * height / 2;
}

 

결과

 

 

 

 

 


출처 : 자바스크립트 마스터북

728x90
저작자표시 비영리 (새창열림)

'Web > javascript' 카테고리의 다른 글

[자바스크립트] 쿠키 굽기  (0) 2019.11.26
[자바스크립트] 스코프  (0) 2019.08.09
[자바스크립트] Javascript를 사용하여 현재 페이지 새로 고침하기  (0) 2018.08.01
[브라우저] 로컬스토리지, 세션 스토리지 , 캐시  (0) 2018.07.27
[자바스크립트] 자바스크립트 정리  (0) 2018.05.15

티스토리툴바