모던 자바스크립트 튜토리얼 2

임효진·2022년 10월 16일
0

조건부 연산자 '?'

let result = condition ? value1 : value2;
평가 대상인 condition이 truthy라면 value1이, 그렇지 않으면 value2가 반환.

지역변수

함수 내에서 선언한 변수인 지역 변수(local variable)는 함수 안에서만 접근할 수 있음.
function showMessage() {
  let message = "안녕하세요!";// 지역 변수

  alert( message );
}

showMessage();// 안녕하세요!

alert( message );// ReferenceError: message is not defined (message는 함수 내 지역 변수이기 때문에 에러가 발생.)

외부변수

함수 내부에서 함수 외부의 변수인 외부 변수(outer variable)에 접근할 수 있음.
let userName = 'Blake';

function showMessage() {
  let message = 'Hello, ' + userName;
  alert(message);
}

showMessage();// Hello, Blake
함수에선 외부 변수에 접근하는 것뿐만 아니라, 수정도 할 수 있음.
let userName = 'John';

function showMessage() {
  userName = "Bob";// (1) 외부 변수를 수정함let message = 'Hello, ' + userName;
  alert(message);
}

alert( userName );// 함수 호출 전이므로 John 이 출력됨

showMessage();

alert( userName );// 함수에 의해 Bob 으로 값이 바뀜

외부 변수는 지역 변수가 없는 경우에만 사용할 수 있음.
함수 내부에 외부 변수와 동일한 이름을 가진 변수가 선언되었다면, 내부 변수는 외부 변수를 가림.
함수 내부에 외부 변수와 동일한 이름을 가진 지역 변수 userName가 선언되어 있음
외부 변수는 내부 변수에 가려져 값이 수정되지 않음.
let userName = 'John';

function showMessage() {
  let userName = "Bob";// 같은 이름을 가진 지역 변수를 선언합니다.let message = 'Hello, ' + userName;// Bob
  alert(message);
}

// 함수는 내부 변수인 userName만 사용합니다,
showMessage();

alert( userName );// 함수는 외부 변수에 접근하지 않음. 따라서 값이 변경되지 않고, John이 출력.

전역 변수

화살표 함수 기본

let sum = (a, b) => a + b;

/* 위 화살표 함수는 아래 함수의 축약 버전.

let sum = function(a, b) {
  return a + b;
};
*/

alert( sum(1, 2) );// 3
profile
프론트 요정임

0개의 댓글

관련 채용 정보