변수, 함수

멜로디·2021년 1월 18일
0

변수

선언

변수를 사용하려면 먼저 변수의 이름을 선언해야 하는데, 이 때 'let'을 이용하여 할당하고,
변수명에는 공백을 사용할 수 없으며, 한 번 선언한 변수를 다시 쓸 때는 let을 생략한다.
(같은 변수를 2번 이상 선언하게 되면 문법 오류가 발생한다)

할당

변수 이름을 선언한 뒤 그 변수가 불러올 데이터를 할당한다

사용 예시

이름과 생년월일(연/월/일 분리)을 선언하고 할당할 때

첫번째 방법

let name = '홍길동';
let birthYear = 1990;
let birthMonth = 12;
let birthDay = 31;

두번째 방법

let name, birthYear, birthMonth, bitthDay;
  name = '홍길동';
  birthYear = 1990;
  birthMonth = 12;
  birthDay = 31;

두 방법 모두 사용할 수 있고, 상황에 따라 선택해서 사용하는 것이 좋을 듯 하다.

함수

선언

함수는 해당 함수의 이름을 직접 할당하여 사용할 수 있다.

함수 선언식 방법

function functionName(input) {
 // 함수 본문
}

함수 표현식 방법

let functionName = function(input) {
 // 함수 본문
}

함수에 들어가는 변수(예시에서는 input 부분)는 함수 실행 시 입력에 따라 바뀔 수 있으며, 함수에서 사용할 입력값은 매개변수(parameter)라고 칭한다.

사용예시

50km/h의 속도로 200km의 거리를 갈 때 걸리는 시간을 구하는 함수

let timeToGoHome = function(speed, distance) {
  let time = distance / speed;
  console.log(time);
}
timeToGoHome(50, 200)

먼저 함수를 선언(let timeToGoHome)한 뒤 매개변수(speed, distance)를 할당하고,
함수가 연산해야 하는 내용(distance를 speed로 나누기)을 지정한 뒤 console.log(time)으로 반환,
선언한 함수에 전달인자를 입력(timeToGoHome(50, 200))함으로 연산을 진행한다.

그런데!!! 이렇게 연산을 하면 범위 문제 때문에 콘솔에는 결과값을 반환하지만, 함수 외부에서 사용할 수는 없다.
위 예시에서는 timeToGoHome 안에서 time에 대한 선언을 했고, 전달인자 또한 timeToGoHome함수에 대해 입력하였기 때문에 연산이 완료된 뒤 time변수를 입력해도 아래와 같이 아무것도 반환되지 않는다.

let timeToGoHome = function(speed, distance) {
  let time = distance / speed;
  console.log(time);
} // let time의 범위는 여기서 종료 //
timeToGoHome(10, 200)
// 20으로 반환됨 
time;
// undefined으로 반환됨
let time = timeToGoHome(10, 200)
// 20으로 반환됨
time;
// undefined으로 반환됨

이 때에는 3번째줄의 console.log(10, 200) 대신에 return time;을 이용하면 함수 밖으로 결과를 '출력'하게 되고, 이렇게 출력된 값을 다른 함수에서도 전달인자로 이용할 수 있다.

let timeToGoHome = function(speed, distance) {
  let time = distance / speed;
  return time;
} 
timeToGoHome(10, 200)
// 20으로 반환됨 
let myTime = timeToGoHome(20, 100);
console.log(myTime);
// 5로 반환됨
profile
하루하루 배울때마다 기록하는 일기장

0개의 댓글