함수 표현식을 간결하게 나타내는 방법이다.
let func = function(arg1, arg2, ...argN) {
return expression;
};
let func = (arg1, arg2, ...argN) => expression
위의 코드를 이런식으로 바꿀 수 있는 것이다.
화살표 함수는 arg1,arg2 등을 입력 받으면
expression을 실행한다고 생각하면 된다.
expression이 길다면 중괄호로 감싸서 표현한다.
객체란 원시형처럼 하나의 데이터만 담는 것이 아닌
다양한 데이터 저장이 가능한 타입이다.
객체는 중괄호를 이용하여 만들 수 있고, 여러 값들을 넣을 수 있다.
생성하는 방법은 2가지 있는데
let user = new Object(); // '객체 생성자' 문법
let user = {}; // '객체 리터럴' 문법
이 두 가지가 있다. 사용방법은
let user = {
name: "John",
age: 30
};
이런 식으로 선언 후, 안에 값들을 넣어줄 수 있는 것이다.
접근법은
user.name
user["name"]
두 방법으로 값을 접근할 수 있다.
이 때 프로퍼티를 삭제하고 싶다면
delete user.name
을 사용하면된다.
원시값은 값 그래도 저장 및 할당이 되는 반면
객체는 참조에 의해 저장되고 복사가 된다.
let user = { name: "John" };
let admin = user;
내가 위 명령어를 실행했을 때,
admin이 user.name이 된 것이 아니라
admin의 값이 user.name의 참조 값이 저장이 되는 것이다.
자바스크립트 공식 문서에 있는 사진을 보면 이해가 잘 될것이다.
한마디로 내가 admin의 값을 바꾸지 않아도
객체의 name값을 바꾸면 값이 바뀐다는 소리같다.