함수를 정의만 해서는 실행되지 않음!
1) add 함수 정의
function add() {
let sum = 3+3;
return sum;
}
function add() {
let sum = 3+3;
return sum;
}
아래는 add라는 이름을 가진 함수입니다. add 함수가 어떤 동작을 하게 될지를 정의만 해둔 것입니다.
2) add 함수 실행(호출)
add();
add();
add 함수 이름을 부르기 전까지는, sum 변수가 생성되지도 않고, 3+3 더하기도 되지 않습니다.
함수 내부가 실행되려면 위와 같이 함수를 호출해야합니다.
함수를 호출하면, 그제서야 add 함수가 실행되므로
그때 3+3 더하기가 되고 sum 변수에 저장되는 것입니다.
함수를 호출하는 형태는 아래와 같이 함수 이름에 괄호()를 여닫아주면 됩니다.
모든 함수가 return 이 있어야 되는 건 아니지만 함수가 반환을 생략하면 undefined 라는 값을 반환합니다.
매개변수(parameter)는 '자리' 혹은 '변수의 이름'이라고 말씀드렸습니다. 반면, 인자(argument)는 그 자리에 들어갈 구체적인 값을 뜻합니다. 이 두 종류의 값을 잘 구분해주세요.
function getName(name) {
return name + '님';
}
const result1 = getName('개발자');
const result2 = getName('디자이너');
const result3 = getName('기획자');
name = 파라미터(parameter)
개발자/디자이너/기획자 = 인자 (argument)
파라미터와 인자의 개념에 대해 다시한번 정리해보는 기회.
var num = 0;
var result = 0;
result = num++;
-> result = num;
num = num + 1;
result = ++num;
-> num = num + 1;
result = num;
비교 연산자 - 동치 연산자
=는 x=y의 경우에 y의 값을 x에 '대입' 한다는 의미입니다.
==는 x==y의 경우에 x의 '값'과 y의 '값'이 같은지를 검사합니다
===는 x===y의 경우에 x와y의 '값/타입'이 같은지를 검사합니다.
!= 두 피연산자의 자료형을 일치시킨 후, 엄격하게 비교를 수행
!== 자료형 변환 없이 두 피연산자가 엄격히 같은지 판별
두 피연산자가 같지 않거나, 같은 자료형이 아닐 때 true를 반환
if (age > 65 || age < 21 && res === "한국")
이런 사람이 참이다.
66세이다.
20이면서 한국에 산다. 연산 순서 잘비교해보기
function alertSuccess(name) {
alert(name + "님 로그인 성공! ")
}
alertSuccess("주지홍");
function alertSuccess(name) {
let name = "wecode";
alert(name + "님 로그인 성공! ")
}
alertSuccess("주지홍");
위와 같이 함수 내부에서 인자로 받은 변수(name)에 새로운 값("wecode")을 넣으면 안 됩니다!
// 인자(parameter)에 실제로 어떤 데이터가 전달될지는 호출할 때 결정하는 것입니다. 아래를 확인해주세요.