TIL 13 | Javascript_객체 : 객체 리터럴

Moon ·2021년 6월 10일
0

Javascript

목록 보기
8/16
post-thumbnail

객체 리터럴 기본

객체란 무엇인가?
이름과 값으로 이루어진 속성들을 포함하는 컨테이너
객체 안에 변수를 정의하면 속성, property라고 한다.
객체 안에 함수를 정의하면 메소드(method)라고 한다.

객체가 무엇인지 다시 알아보았으니, 오늘은 객체 리터럴에 대해서 알아보자.

1) 객체 리터럴의 기본


분명 처음 봤는데 구면인것 같은 느낌이다.
이유는 배열에서 봤던 모습과 흡사하다고 느끼기 때문인이다. (fyi, 하단에 배열의 모습을 확인해보자.)

그렇다면 '배열'과'객체 리터럴'의 차이점은 무엇일까?
배열은 단순히 여러값들을 하나의 값으로 묶어놓은 것이고
객체하나로 묶으면서 각각에 이름을 붙여놓은 것 이다.

따라서, 여러개로 묶어놓을 때 이름이 필요하다면 '객체 리터럴'을 사용하고 단순히 묶어놓기만 하면 된다면 배열을 쓰도록 한다.

2) 속성 내부에 접근하는 방식

위처럼 두가지의 방식이 있다.
두번째 (Moon['name']);은 위에보다 더 많은 타이핑이 들어가는데도 불구하고 써야하는 경우가 있다.
바로, 속성의 이름에 특수문자가 사용된 경우인데 밑에서 이어서 설명하겠다.

3) 속성의 이름에 특수문자 사용하기

객체 리터럴 속성중에 하나의 이름에 특수문자 (혹은 숫자나 스페이스)를 사용하는 경우에는 그냥 써서는 안된다.
이 경우엔 무조건 '' 를 붙여줘야만 한다.

''를 쓰지 않은 위의 방식은 에러가 나온다.

4) 객체 속성 수정하기

앞에서 객체를 만들어보고 내부 속성에도 접근해 보았따.
속성을 수정하는 방법을 이어서 배워보겠다.

5) 객체 속성 제거하기

delete 변수.속성;
으로 하게되면 객체 내부의 속성을 제거할 수 있다.
제거된 속성 값은 undefined가 된다.

6) 메서드란?

메서드란 객체의 속성 값으로 함수를 넣었을 때, 이 속성을 메서드라고 한다.
또한 메소드란 클래스가 가지고 있는 기능으로 클래스 안에 선언된다.

const moon = {
  log: function(value){
    console.log(value);
  },
  };
  moon.log('Hello,Moon');

위에서 log는 moon객체의 메서드이다.

출처: https://www.youtube.com/watch?v=1SYv8YgXOyQ&list=PLcqDmjxt30RvEEN6eUCcSrrH-hKjCT4wt&index=31

profile
Welcome to my world! ☺️

0개의 댓글