[JS] 함수/ 선언/ 실행/ 리턴/ 타입

아임 레조·2020년 8월 20일
0

STUDY

목록 보기
3/34
post-thumbnail
  • 함수가 "작은 기능의 단위"라는 것을 이해할 수 있어야 한다.
  • 함수가 선언되어 변수에 담기는 과정을 설명할 수 있어야 한다.
  • 함수의 결과값이 변수에 할당되어 담기는 과정을 설명할 수 있어야 한다.
  • 괄호 내에 인자를 넣어서 함수로 전달하여 실행시킬 수 있다.
  • 함수의 호출과 함수 그 자체 (선언식)를 구분할 수 있어야 한다.
  • return과 콘솔 출력의 차이를 이해할 수 있다.

함수(Function)

함수는 입력(input)을 받아 출력(output)을 하는 하나의 작은 기능 단위이다. 문제를 어떻게 해결할까를 고민 하는 것을 알고리즘이라고 하는데 함수는 이런 문제를 해결하기 위한 고민을 논리적으로 풀어내는 작업을 하는 하나의 단위를 말하는 것이다. 자바스크립트에서 함수사용은 '함수 이름'과 '입력()'을 이용한다.

function 함수이름(파라미터){
 console.log(파라미터)
 명령;
 명령;
}
함수이름(값); // 함수 호출, 함수이름 안의 값이 파라미터에 전달되는 형태 

getLength("반가워요") 
// getLength는 함수이름
// ()안은 입력, 매개변수(parameter): 함수 내에서 변수처럼 사용 

함수의 선언

함수를 선언하는 것은 함수가 사용될때 어떤 행동을 할지 정의만 하는 것이다. 함수를 사용하는 방법을 알아야 실행할 수 있다. 자바스크립트에서 함수는 두가지 방식으로 선언될 수 있다.

  • 함수 선언식 : 함수를 선언했다
function myFunction(input){
 컴퓨터에게 시킬 일
 }
  // input은 입력값, 매개변수(parameter)- 쉼표로 구분해주면 여러개의 파라미터 사용 가능  
  // 일어나야하는 일, 함수를 실행할 때 바뀔 수 있는 변수 
  // let등의 키워드 없이 사용                         
  • 함수 표현식(Expressions) : 함수를 할당했다

    let myFunction = function(input){
     컴퓨터에게 시킬 일} 
 집까지 가는 데 걸리는 시간을 계산하는 함수 
 필요한 요소: 거리, 시간, 속력 
 시간을 계산하려면: 시간 = 거리/속력
 함수에 입력해서 함수 표현식으로 출력시키려면? 
 
let TimetoGoHome = function(distance, speed){
 let time = distance / speed;
 console.log(time); 
 } 

함수의 실행(invacation; call)

변수에 함수가 담겨있다면, 다른 변수와는 다르게 () 괄호를 붙여서 함수를 실행할 수 있다. 또한 입력값을 설정할 수도 있는데, 이를 전달인자(argument) 줄여서 인자라고 부른다.

let word = speakUp('Nice to meet you') 
// 변수 word에 담겨있는 함수 speakUp
// 문자열 'Nice to meet you'를 인자로 넣어 실행된다 

함수의 리턴(return)

함수가 실행되고 나면, 결과값을 리턴한다. 함수 안에서 return을 넣는 경우에는 함수가 끝나는 곳에 넣어야 한다. 이 결과 값은 함수의 중괄호 내부에서 어떤 값을 return하는지에 따라서 결정된다. return이라는 말을 만나면 함수는 값을 내뱉고 그대로 끝나버리기 때문이다. 아무것도 return하지 않으면 undefined를 리턴해야 한다.

function plusTwo(input){
 input = input +2; 
 return word;
 }
 let result = plusTwo(10); //12
function addFirestAndLast(myArray){
 return (myArray[0] + myArray[2]);
  if(조건){
   }else(조건){
    }
   } 
 // 해당 함수의 if 조건 안에 statement는 실행되지 않는다.
 // return하면 함수는 끝나기 때문에! 
function functionWithoutReturn(){
 console.log('I may return!') 
 } 
 let result = functionWithoutReturn(); // undefined 

return과 비교되는 것으로 console.log가 있는데 console.log는 자바스크립트에서 이전에 정의 된 변수들을 화면에 출력하거나 사용자에게 보여줘야되는 어떤 메시지를 출력하기 위해서 사용하는 기능을 말한다. 내가 변수를 잘 설정했는지, 해당 함수가 제대로 실행되고는 있는지, 변수값이 어떻게 변하고 있는지와 같은 것들을 확인해보기 위해서 console.log를 해보는 습관을 들이는 것이 중요하다.

타입(type)

컴퓨터가 명확하게 표현하기 위해서는 모든 값에 타입을 정해주고, 그에 맞게 행동하도록 규정을 해주는 것이 상식적이다. string의 경우 '," 표시를 해서 구별해주어야 한다.

let plusAllNumber = 90 + 10 ; //100
let plusNumberandString = 90 + '10" // '9010' 

추가로 알아야하는 함수

임의의 값을 입력받았을 때 수(number)의 형태로 리턴해주는 함수

Number() 
Number('2080'); // 2080

임의의 값을 입력받았을 때 문자열(string)의 형태로 리턴해주는 함수

String() 
String(2080); // '2080' 

나머지 연산자

console.log(7 % 3); // 1

거듭제곱 연산자

console.log(2 ** 3);// 2의 3제곱 = 8 
profile
어쩌다보니 백엔드 개발자/ 번아웃 없이 재밌게 개발하고 싶어요

0개의 댓글