변수는 상황에 따라 변할 수 있는 값으로 데이터 처리를 편리하게 하기 위해 저장하고 꺼내쓰는 것입니다.
// 변수 선언과 값 할당
let 변수;
변수 = 값; // '='은 같다라는 뜻이 아니고 값을 변수에 할당한다는 뜻이다.
let 변수 = 값;
// 한번에 여러 값을 등록 할 수 있다.
let 변수1, 변수2, 변수3, ...;
변수1 = 값;
변수2 = 값;
.
.
.
// 만약 할당이 없다면 undefined(정의 되지 않았다)라는 값을 가짐
변수에 담을 수 있는 데이터는 숫자나 문처럼 특정한 형태를 가지고 있습니다. 이 형태를 타입이라고 합니다.
변수의 다양한 타입
pi / 숫자 number / 3.141592
my name / 문자열 string / Steve
IsAdult / 불리언 boolean(true / false)
타입이 섞인(compound) 타입 (자료형)
// 배열 banana, apple, pineapple
let fruits = [
'banana', 'apple', 'pineapple'
];
/* 객체
이름: steve
나이: 32
✔︎성인입니까? */
let person = {
name: 'Steve',
age: 32,
IsAdult: true
};
undefined와 함수도 타입입니다.
undefined의 타입: 'undefined'
함수의 타입: 'function'
논리적인 일련의 작업을 하는 하나의 단위를 함수라고 합니다.
// 함수 선언식
funtion 함수이름(매개변수(parameter)) {
// 함수에게 시킬 일 body
}
ex)
funtion getTriangleArea(base, height) {
let triangleArea = base * height / 2;
return triangleArea;
}
// 함수 표현식
let 함수이름 = funtion(파라미터) {
// body
};
// 화살표 함수
let 함수이름 = (파라미터) => {
// body
};
/* 만약 함수의 본문(body)에 return문만 있는 경우,
return과 {}중괄호를 생략 할 수 있다 */
let 함수이름 = (파라미터) => body;
ex)
let getTriangleArea = (base, height) => base * height / 2
// 함수 호출
함수이름(전달인자(argument))
ex) getTriangleArea(3, 4)
조건문은 말그대로 조건에 따라 값을 처리하기 위해 만드는 것입니다.
조건문에는 반드시 비교연산자(comparison operater)가 필요합니다.
비교의 결과는 늘 Boolean, true 혹은 false입니다.
>초과, <미만, >=이상, <=이하, ===같다, !==다르다 ==과 !=는 엄격하게 비교하지 않아 사용하면 안됩니다.// 조건문 쓰는 법
if (조건1) {
// 조건1이 통과할 경우
} else if (조건2) {
// 조건1이 통과하지 않고
// 조건2가 통과할 경우
} else {
// 모든 조건이 통과하지 않는 경우
}
2가지 조건이 한번에 적용되는 경우에는 논리 연산자(Logical Operater)를 사용합니다.
&& AND 연산자
|| OR 연산자
! NOT 연산자
!undefined // true -> undefined를 false로 취급(falsy)
!'Hello' // false -> 'Hello'를 true로 취급(truthy)
기억해야 할 6가지 falsy 값
논리 연산자의 결과에 Boolean이 아닌 값이 들어갈 수 있습니다.
OR 연산자는 truthy한 값을 만나면 그 값을 출력합니다. (그 이후로는 평가X)
둘 다 falsy할 경우, 뒤의 값을 출력합니다.
AND 연산자는 falsy한 값을 만나면 그 값을 출력합니다.
둘 다 truthy할 경우, 뒤의 값을 출력합니다.