변수란? 각 보관함의 이름
데이터 보관함(메모리)
보관함의 크기는 모두 동일하다.
각 보관함의 이름이 변수이며, 이름을 통해 데이터를 사용한다.
변수는 상황에 따라 변할 수 있는 값이다.
변수는 이름(label)이 붙은 값이다.
예를 들어,
pi * 5 * 5; // 반지름이 5인 원의 넓이
let radius = 5; // radius 변수 선언과 할당
pi * radius * radius;
let AreaOfCircle = pi * radius * radius; // 결과물을 다시 변수로 담을 수 있다.
let sum = 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;
변수에는 다양한 타입이 있는데 크게 원시 자료형 / 참조 자료형 으로 나뉜다.
< 원시 자료형 >
1. 숫자
1-1 number : 정수, 소수 등 숫자형
1-2 bigint : 최대치인 2^53 - 1 보다 큰 정수를 표현할 수 있는 내장 객체
2. 문자열(String) : 반드시 따옴표 사용
3. Boolean : true / false 를 표현
4. symbol : 객체를 고유하게 설정하기 위해 사용(유일한 식별자를 만들고 싶을 때)
5. undefined : 변수는 존재하지만 값이 할당되지 않음 / 값이 없는 상태를 의도적으로 부여하지 않은 상황
6. null : 값이 없음 / 값이 없는 상태를 의도적으로 부여한 상황
< 참조 자료형 >
1. Object
1-1 배열
1-2 객체
1-3 함수
typeof 연산자로 타입을 확인해 볼 수 있다.
typeof 값;
< 비교 연산자 >
'==' : 변수 타입과 상관 없이 값만 같으면 true를 리턴하는 비교 연산자 / 예외가 많이 생겨서 거의 사용 안함
'===' : 왼쪽 피연산자와 오른쪽 피연산자의 값이 같고, 피연산자들의 타입까지 같아야 true을 리턴하는 엄격한 비교 연산자
함수란 ? 논리적인 일련의 작업을 하는 하나의 단위
function mulTablePrinter(num) {
console.log(num * 1);
console.log(num * 2);
console.log(num * 3);
}
function = keyword
mulTablePrinter = name
num = parameter
console.log(num * 1); = body
선언 - parameter(매개변수) : 함수 선언시 값을 '전달 받아' 함수 내부로 전달하는 것 / 함수를 실행할 때 입력에 따라 바뀔 수 있는 변수(let 등의 keyword를 사용하지 않고도 사용 가능)
getTriangleArea(base, height)
호출 - argument(전달인자) : 함수 호출 시 함수 내부로 값을 '전달 하는' 것 / 함수를 호출 할 때 매개변수에 할당되는 값
getTriangleArea(3, 4)
함수는
선언하기( 버튼 제작 )
Function cal(param1, param2) {
console.log(param1 + param2);
return param1 * 10;
}
함수 호출 ( 버튼 사용 )
cal(10, 20);
let result = cal(10, 20);
function cal(param1, param2) {
console.log(param1 + param2)
return param1 * 10; // 여기서 다시 리턴해서 result값이 100으로 바뀜
}
** 함수 내부에서 return 하지 않으면 출력값이 undefined로 나옴
함수 선언식
function getRectangleArea(width, height) {
let rectangleArea = width * height;
return rectangleArea
}
함수 표현식
let getRectangleArea = function (width, height) {
let rectangleArea = width * height;
return rectangleArea
}
화살표 함수
let getRectangleArea = (width, height) => {
let rectangleArea = width * height;
return rectangleArea;
}
** 화살표 함수 본문(body)에 return문만 있는 경우, return과 {} 생략 O
단, 반드시 둘 다 생략해야함!!
() 사용 가능