화살표함수는 ES6이후 사용하고 있는 문법으로 함수 키워드를 적지 않아도 된다는 장점이 있다!(직접 써 보니 가독성도 더 좋은 것 같다고 생각한다)
기본 규칙 다시 정리
0. function 키워드를 생략한다. 보통..변수에 할당하는 형태로 사용하기 때문에, 클로저로 사용이 가능하다는 특징이 있다.
1. 함수의 body에 리턴문 한줄만 존재한다면 {}와 return을 제거한다
꼭 둘 다 제거해줘야 한다. {}만 쓰게 되면 undefined를 리턴한다.
2. body가 여러 줄인 경우에는 {}와 return을 둘 다 써야 한다.
3. 함수의 parameter가 하나뿐인 경우에는 ()를 생략해도 좋다. 단 여러개일 때는 생략할 수 없다
형태
//함수선언식
function calculateDistance(speed, time){
let distance = speed * time;
return distance;
}
//화살표함수
const calculateDistance = (speed, time) => {
let distance = speed * time;
return distance;
}
아고라스테이츠에서 자주 묻는 질문 답변을 읽어보았다.
자료형은 primitive type과 reference type으로 나누어지는데,
reference type에는 object, array, function 등이 있다고 한다.
그런데 다음의 코드를 실행하면, function이라고 나온다고 한다.
typeof function // function
이것은 함수가 object의 subtype이기 때문이다. 이것의 의미는, 함수는 객체 중에서도 다른 함수의 인자로 전달이 가능하고(callable object), 다른 함수에 의해 리턴되기도 하고, 함수를 인자로 받을 수 있는 일급 객체라는 것이다.
배열의 타입이 객체인 이유는 객체처럼 인덱스라는 키로 element들을 관리하고 있기 때문이다.
.
.
.
기수이동 하고 둘째날, 전날 밤에는 정말 오만가지 생각이 다 들었다.
진짜 그만해야 하나라는 생각까지 들었다.. 마음이 여전히 복잡하다.