티스토리 뷰

KH

230405 (JavaScript_3)

十月 2023. 4. 5. 11:17

객체

배열은 [대괄호로 감싸져 있음]

객체는 {중괄호로 감싸져 있음}


객체 선언 및 호출

중괄호{}를 사용하여 객체를 생성하고 속성에는 모든 자료형이 올 수 있음
객체는 키 값을 사용하여 속성 식별

product 객체 자체는 변경이 불가능하나,

안에 있는 속성은 변경이 가능하다. → const 라서!

≫ 배열과 같은 논리

안의 속성만 변경하는 것은 주소값을 건드리지 않는 것이라 가능


객체의 키 식별자 테스트

객체의 키는 모든 문자열 사용 가능

다만, 식별자로 사용할 수 없는 단어를 키로 사용한 경우 (ex. 띄어쓰기)

무조건 대괄호를 사용해야 객체 요소에 접근 가능


객체의 메소드 속성

:: 객체의 속성 중 함수 자료형인 속성을 메소드라고 함

 

≫ run은 객체 안에 있는 키로 속성이 함수 자료형(메소드)이다.

 

하지만....

 

 

+) this

객체 안의 속성을 불러올 때는 this를 사용해야 한다.

그런데 this를 쓰니 window 객체를 가리킴. (window가 최상위 객체)

≫ 현재, 화살표 함수에서 this를 가져오고 있는데

 화살표 함수 안에는 this라는 함수가 없기 때문에

 무조건 window 함수를 가져올 수밖에 없다.

 

▼ ES6가 아닌 ES5로 바꿔 사용하자!

run 함수는 subway 객체 내에 선언된 메소드(Method)

subway 객체의 속성으로 선언되었으며, 객체에서 run 메소드를 호출할 수 있다.

예를 들어, 위 코드에서 subway.run('복잡하다')와 같이 subway 객체의 run 메소드를 호출하면,

action 매개변수로 전달된 '복잡하다' 문자열과 line1, line2 속성값을 사용하여 문자열을 출력한다.

또한, this 키워드를 사용하여 객체 자체를 참조할 수 있다.

this는 현재 실행되는 컨텍스트의 객체를 참조한다.

따라서 console.log(this)는 subway 객체를 출력합니다.


객체와 반복문

≫ 객체는 .length를 할 수 없다. → undefined


★ 객체 속성 추가 및 제거

≫ student.name 자체로는 불러오는 거지만,

 = '강건강'; 이렇게 값을 대입할 수 있다.

 

≫ ★ student 객체의 toString(함수 자료형/메소드) 키에 함수가 들어있기 때문에,

 if문을 통해 'toString' 키를 제외시켜주지 않으면 뒤에 함수까지 키 : 값으로 출력이 된다.

 

올바른 콘솔 결과


★ 객체 배열

≫ students 배열 안에 push를 사용해 객체들을 다 넣음

 그리고 객체 내 속성 마다 메소드 getSum() / getAvg()를 생성해줌.

 

≫ getSum()에는 'name'과 'getSum()', 'getAvg()' 키가 들어가면

제대로 된 sum을 구할 수 없기 때문에 if문을 사용해 제외해 준다.

 


 

'KH' 카테고리의 다른 글

230410 (jQuery)  (0) 2023.04.10
230405 (JavaScript_4)  (0) 2023.04.05
230403 (JavaScript_2)  (0) 2023.04.03
230403 (JavaScript_1)  (0) 2023.04.03
230331 (CSS / 애니메이션)  (0) 2023.03.31
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함