배열 : 순서 정보 -> 인덱스
객체 : 순서X, 데이터의 의미 -> 키
데이터가 공통적인 속성을 가지며 관계를 표현해야 할 경우 객체를 사용
{}
중괄호 사용key : value
의 나열ex. 회원마다 공통적으로 이름, 이메일, 거주지 등의 정보가 필요
cf. 배열은 관계만 표현 : 인덱스가 어떤 정보를 표현하는지 표시X
let user = {
fullName : 'April',
birth : '4월 2일',
age : 20,
address : 'ap0402@gmai.cm',
content : '수강생'
};
.
온점을 사용하여 객체의 데이터에 접근
/*
객체.키;
*/
user.fullName; // 'April'
user.age; // 20
[]
대괄호를 사용하여 객체의 데이터에 접근
/*
객체['키'];
-> 대괄호 안에는 문자열 형태의 키를 사용
cf. 문자열을 할당받은 변수도 사용 가능
*/
user['content'];
user['content'] === user.content; // true
let keyname = 'content';
user[keyname]; // 변수가 문자열의 의미하면 사용 가능
let content = 'name';
user[content] === user['content']; // false
dot/bracket notation으로 데이터 추가 가능
기존의 데이터 변경
user['category'] = '정기 회원';
user.isPublic = true;
user.tags = ['#몸짱', '#운동'];
/*
기존의 데이터 변경 가능
user.isPublic = false;
*/
delete
키워드로 데이터 삭제
-> 해당 키의 속성값이 아닌 속성 자체를 제거
-> 키-값 쌍으로 제거
delete user.isPublic;
in
연산자를 사용하여 객체 내부에 키가 있는지 확인 가능
-> boolean 타입으로 반환
'isPublic' in user; // false
'category' in user; // true
객체에 for ~ in 반복문을 사용
-> key를 추출하여 반복문 진행for (let keys in obj){ // 반복문 실행 코드 }
cf. for~ in을 배열에 사용하면 인덱스를 기준으로 순회
for~of 은 배열, 유사배열인 문자열 등에 사용
Chapter1. 배열
Chapter2. 객체
이해도 자가 점검 리스트의 결과를 토대로 자기주도적 학습 계획을 수립하고 실천해 보세요.
오늘 학습이 어려웠다면(0~6개)
오늘 학습이 수월했다면(7-8개)
추가적인 학습을 하고 싶다면(9개)
느낀점
오늘도 마지막 문제는 힘들었지만 그래도 해결은 했다. 마지막 문제는 '객체의 벨류값중 가장 큰 것의 키값 리턴'이 부분이 객체에는 어떻게 적용해야하는지 막막했는데, 엔지니어님 설명 들으니 기존에 최대값 구하는 것이랑 방식이 같았다. 오히려 continue 부분이 더 어려웠던 것 같은데 조건문 쓰면 쉽게 될거라고 착각했었다. 오늘 디버깅 하면서 문제해결하다가 디버깅해서 숫자가 올라가는 걸 봤는데 콘솔값으로는 안나와서 당황했다... 아직 그부분 해결이 안된 상태로 회고중인데 도통 감이 안잡힌다... 단순 오류는 아닐테고;; 내가 잘못본건가..? 피곤해서 헛게 보이나ㅋ
오늘은 점심에 먹을거 사러 나가느라 잠시 숨을 돌렸다. 빠듯했지만 집에만 있기 갑갑해서 좋았다. 심지어 오늘 햇빛은 연두색 같은 느낌이었다. 날씨가 좋을수록 방에만 있기가 어렵다. 집순이라 괜찮을 거라고 생각했는데 6개월 어떡하지??
개선점 및 리마인드