변수는 데이터를 담는 보관함이라고 할 수 있다.
이 변수에 이름을 붙여주는 것을 변수의 선언이라고 한다.
let num;
위에서는 let 키워드를 사용하여 num이라는 이름의 변수를 선언하였다.
선언은 딱 한 번만 해줄 수 있다.
이렇게 선언해준 변수에는 데이터를 담을 수 있는데,
변수에 데이터를 담는 것을 할당이라고 한다.
num = 1;
위에서는 num이라는 변수에 1이라는 숫자 데이터를 할당해주었다.
여기서 연산자 = 는 '같다'라는 의미가 아니라,
num이라는 변수에 1을 '대입'해준다는 의미의 할당연산자이다.
변수의 선언과 할당은 다음과 같이 한 줄의 코드로 작성해줄 수도 있다.
let num = 1;
타입이란, 변수에 할당할 수 있는 데이터의 형태를 말한다.
타입은 크게 원시타입(primitive type)과 참조타입(reference type)으로 나뉜다.
원시타입에는 string, number, boolean, undefined가 포함된다.
참조타입에는 배열, 객체, 함수가 포함된다.
string(문자열)은 문자 데이터를 말하며,따옴표를 이용해서 표현해준다.
let fruits = 'apple';
number는 숫자 데이터를 말한다.
let number = 100;
Boolean은 참, 거짓의 값으로 출력되는 데이터이다.
1<2; // true
1>2; // false
변수에 값이 할당되지 않았을 경우를 의미한다.
let fruits;
console.log(fruits) // undefined
배열은 같은 타입의 변수가 나열된 타입이다.
let fruits = ['apple','banana','kiwi'];
객체는 각각 다른 타입의 변수가 나열된 타입이다.
let person = {
name: 'zoe',
age: 33,
isStudent: true};
함수도 타입이다.
typeof 연산자는 값의 타입을 알려주는 연산자이다.
typeof 값;
typeof '1'; // string
typeof 1; // number
typeof (1<2) // boolean
개발자 도구를 사용할 수도 있다.
console.log(typeof '1') // string
함수는 하나의 기능을 하는 단위이다.
함수를 만드는 것을 선언이라고 한다.
그리고 함수를 한번 선언하면 즐겨찾기처럼 원할 때마다 불러와서 사용할 수 있다.
이렇게 함수를 불러오는 것을 함수의 호출이라고 한다.
숫자를 입력하고 버튼을 누르면 계산된 값이 출력되는 계산기가 있다고 하자.
여기서 버튼을 제작하는 것은 함수의 선언이다.
버튼을 눌러서 사용하는 것은 함수의 호출이다.
// 구구단을 계산하는 함수를 선언해보자
function cal(num) {
console.log(num*1)
console.log(num*2)
console.log(num*3)
console.log(num*4)
console.log(num*5)
console.log(num*6)
console.log(num*7)
console.log(num*8)
console.log(num*9)
};
// 함수 호출하기
cal(3);
//
3
6
9
12
15
18
21
24
27
매개변수(parameter)는 함수를 선언할 때 ()들어가는 값이다.
전달인자(argument)는 함수를 호출할 때 ()안에 들어가는 값이다.
함수의 선언 방법에는 선언식, 표현식, 화살표 함수가 있다.
선언식은 function 키워드를 가장 먼저 사용하는 선언 방법이다.
function getTriangleArea(base,height) {
let triangleArea = (base*height) / 2;
return triangleArea;
}
getTriangleArea(2,4) // 4
표현식은 변수를 먼저 선언해주고, 그 변수에 익명 함수를 할당해주는 선언방법이다.
const getTriangleArea = function(base,height) {
let triangleArea = (base*height) / 2;
return triangleArea;
};
화살표 함수는 표현식을 기본으로 하고, function 키워드를 화살표 (=>)로 축약해 준 형태로 쓴다.
const getTriangleArea => (base,height) {
let triangleArea = (base*height) / 2;
return triangleArea;
};