어떠한 값을 사용하려고 할 때 여러가지의 값을 넣게 해줌
왼쪽에 있는 것을 key, 오른쪽 value이며 key에 공백이 있는 문자열을 선언할 때는 따옴표로 묶어서 사용해야함.
다음과 같이 객체를 만들고 함수에 인자로 넣어서 템플릿 리터럴과 사용 가능
객체에서 특정 값들을 추출할 때 사용!
객체 내부에서 그 안에 있는 값들을 빼와서 더 간결하게 사용하기 위해 사용
아래와 같이 사용 가능하며 함수 밖에서도 사용이 가능하다.
위와 같이 사용하며 say: function say() 부분에서 :function say를 빼도 알아서 작동이 됨
하지만 여기서 주의해야할 점으로 일반 함수형으로 선언하면
this
가 자신이 속해 있는 곳을 가리키게 되는데 화살표 함수에서는 자기가 속해 있는 곳을 가리키지 않기 때문에 this의 값이 undefined가 되어 오류가 남
cat.say()의 경우 say함수의 this가 cat을 가리키기 때문에 함수가 등록이 되어 정상적으로 작동이 되지만
const catSay
는 아무런 곳에도 엮여있지 않은 것이라(정의도 안되어 있음) this가 undefined가 됨
특정 값을 바꾸려고 하거나 특정 값을 조회하려고 할 때 우리가 원하는 코드를 실행 할 수 있음
다음과 같이 작성을 하게되면 a혹은 b의 값을 바꾸면서, 즉 set의 기능을 하면서 calculate()라는 함수를 실행 시켜 sum의 값을 바꾸게 할 수 있음. 마찬가지로 get또한 원하는 값을 조회하려고 할 때 조회뿐만 아니라 코드를 삽입하여 원하는 다른 동작을 하게 만들 수 있음.
따라서 단순히 이렇게 작성하게 되면 sum이라는 값을 불러 올때
console.log('sum')
을 sum값을 조회하려고 할 때마다 실행시키게 되는데 전의 코드 처럼 하는 것이 더 효율적이라고 말하고 있음.
Getter, Setter 함수는 어찌 되었든 "값을 조회 및 수정하려고 할 때 원하는 코드를 실행 시키게 만들 수 있다는 점"을 알아 두면 될 것 같음.
여러개의 항목들이 들어 있는 리스트와 같음. 아래와 같이 배열안의 모든 원소들이 같을 필요는 없다.
배열에 원소를 추가하고 싶을 때는 배열 함수인 push() 함수를 사용하고 길이를 알고 싶을 땐 length 함수를 사용한다.
특정 작업을 반복적으로 할 때 사용한다.
시작 -> 조건 -> 구문실행(true인 경우), 끝(false인 경우)
배열과 함께 사용
배열의 길이를 의미하는 length 함수를 적절히 사용할 것!
for의 초깃값 주는 부분과 변화를 하는 부분이 각각 함while문 밖과 안에서 이루어진다.
주의해야 할점은 while의 조건이 false가 되게 해야함! 안그럼 무한루프
while문은 특정 조건을 비교할 때 주로 사용!
for...of
주로 배열을 다룰 때 사용한다.
배열안의 있는 값을 출력해줌.(10, 20, 30, 40 ,50 순서대로)
익숙하지 않다면 사용하지 않아도 된다고 함.
for...in
주로 객체에 대한 반복적인 작업을 할 때 사용한다.
Object.keys, Object.values, Object.entries함수를 잘 알아두면 좋고 entries의 경우 아래와 같이 결과가 출력 된다.
for...in을 사용하여 doggy객체 안의 key값 추출! values값 표현을 위해
doggy[key]
사용함.
반복문을 벗어나거나 그 다음을 실행시킬 때 사용한다.
continue
특정 조건 만족 시에 건너뜀
i가 2일때 건너뛰고 실행되어서 0~9중 2의 값이 console.log에 찍히지 않는다.
break
i의 값이 5가 되었을 때 반복문을 나옴. 따라서 로그에 0, 1, 3, 4, 5가 찍힘
문제: 배열을 인자로 받아 3보다 큰 값들을 배열로 다시 반환하라
for...of 사용