20 09 11 (금) TIL

feelslikemmmm·2020년 9월 12일
0

TIL

목록 보기
5/36
post-thumbnail

⚡️ 오늘 한 일

  • Object(객체)에 대한 학습


  • 학습 목표

    • 배열객체 구조를 '이해'하고 어떻게 사용하는 지 이해할 수 있는지
    • 배열객체의 특징을 구분하여 사용할 수 있는지 (순서를 가진다, 의미를 가진다)
    • 객체 속성(property)의 추가, 삭제, 조회를 자유자재로 할 수 있는지
    • 객체 속성 조회법 두 가지, dot notationbracket notation의 차이를 이해하기
    • obj.a = "hello" 와 같은 이질적인 객체 할당 방식을 능숙하게 다룰 수 있는지
    • 객체 속성 삭제를 위한 delete 키워드를 사용할 수 있는지
    • 객체를 위한 for문 for ... in 문의 기본을 이해하고 다룰 수 있는지
    • 배열과 객체, 반복문을 응용하여 능숙하게 대량의 정보를 다룰 수 있는지

► 회원 목록을 만든다고 가정해보기

<script>
  let userFirstName = 'Velog';
  let userLastName = 'Gitgub';
  let userEmail = 'valog@github.com';
  let userCity = 'seoul';
</script>

주소록에는 이름, 이메일, 사는 지역이 필요하다.

 ► 다른 유저도 추가해 보자

<script>
  let userFirstName = 'Velog';
  let userLastName = 'Gitgub';
  let userEmail = 'valog@github.com';
  let userCity = 'seoul';
  
  //추가 유저
  let user2FirstName = 'Velog2';
  let user2LastName = 'Gitgub2';
  let user2Email = 'valog2@github.com';
  let user2City = 'seoul2';
</script>

매번 이런 식으로 여러 개의 변수를 선언해줘야 할까요?
각 변수는 이름으로만 구분할 수 있을 뿐 서로 어떠한 관계도 없다.

► 배열을 써보는 건 어떨까

<script>
	let user = [
          'velog',
          'github',
          'velog@gitgub.com',
          'seoul'
    	];
</script>

각 값이 하나의 변수로 묶여있긴 하지만,
이 경우에는 각 index가 어떤 정보를 갖고 있는지
미리 알고 있어야 한다
index로 접근할 경우 가독성도 떨어지게 된다
ex) user[1] // gitbug

이럴때 사용 할 수 있는게 객체 이다

► 객체를 사용해보자 이런 주소록에 적합한 자료구조 이다

객체 선언하기
<script>
  let user = { 
   firstName: 'velog',
   lastName: 'github',
   email: 'velog@github.com',
   city: 'seoul'
  };
</script>

객체는 키와 값 쌍(key-value pair)으로 이루어져 있다
중괄호(curly bracket)을 이용해서 객체를 만든다
위 코드에서 lastName(key)이고, 값(value)은 github 이다.
키, 값 사이는 콜론(:)으로 구분한다.
키 값 쌍(key-value pair)은 쉼표,(comma)로 구분해준다

► 객체의 값 사용해보기

1. Dot notation

<script>
  let user = {
    firstName: 'velog',
    lastNmae: 'github',
    email: 'velog@gitgub.com',
    city: 'seoul'
  };
  
  //.을 찍고 키 이름을 적어주면 그 값을 가져올 수 있다.
  user.firstName; // 'velog'
  user.city; // 'seoul'
</script>

2. Bracket notation

<script>
  let user = {
    firstName: 'velog',
    lastNmae: 'github',
    email: 'velog@gitgub.com',
    city: 'seoul'
  };
  
  //대괄호를 넣은 후 안쪽에 키를 입력해주는데 키 값은 문자열로 들어가기 때문에 ''로 감싸줘야 한다
  user['firstN']; // 'velog'
  user['city']; // 'seoul'
</script>

  • Object(객체)관련 알고리즘 문제 풀이

profile
꾸준함을 잃지 말자는 모토를 가지고 개발하고 있습니다 :)

0개의 댓글