⭐ 객체
Non-Primitive Type(비 원시 타입)
한번에 여러 개의 값을 가질 수 있음
여러 개의 고정되지 않은 동적 공간을 사용
✅ 객체 생성하기 !
객체 리터럴 방식(추천 추천)
let gazero = {};
- 중괄호 안에는 프로퍼티로 들어가 있어야 함(=key와 value가 짝지어서 들어가 있어야 함)
let gazero = {
key1: "value1",
key2: "value2,
};
- 객체 리터럴 안에 들어가는 자료형이 뭐든 상관없음 !
cf) 생성자 방식
let gazero = new Object();
✅ 객체 프로퍼티 value값 출력하는 방법 !(객체의 key값은 뭐얏?)
점 표기법
괄호 표기법
- 프로퍼티의 key를 ""문자열 형태로 넣어줘야 함 !
- 함수에 객체의 값을 반환받을 때 유용하게 쓰임
- 동적인 파라미터를 전달받을때
- key를 꺼내야하는데 key값이 고정되지 않을때
✅ 프로퍼티 추가하기 !
점 표기법 / 괄호 표기법으로 값을 대입하듯이 넣어주면 됨
✅ 프로퍼티 값 수정하기 !
만약에 객체 형태가 변수형이 아닌 상수형(const)이라면 프로퍼티 값은 수정이 되지 않는건가?
- 수정 가능함 !
- 왜냐하면? 객체를 수정하는 행위이므로
- gazero 상수자체를 수정하는 행위가 아니기 때문에 괜찮음 !
✅ 프로퍼티 삭제하기 !
delete 메모리가 삭제되지 않음
null대입 메모리에서도 삭제됨
✅ 객체에 있는 함수 프로퍼티(=메서드) 호출하기 !
✅ 객체에 메서드를 만들면, 그 메서드에서 같은 객체에 있는 프로퍼티를 쓰려면?
this를 쓰면되지 !
✅ 객체에 실제 프로퍼티가 존재하는지 조회하고 싶습니다 !
in 연산자 사용