Oxygen Cherry - Pencil
본문 바로가기

공부, 연구/개발

자바 스크립트 기초 4일차

728x90

이거 영상 본지는 한참 되었는데 정리를 지금 올리는 거 실화! 

 

여기 강의 12~15

https://youtu.be/DuXA1t6hl3U

 

#12 - 객체(Object)

 
① 정의
객체란? 이름, 직업, 나이 등 여러 데이터 모아서 하나의 존재를 만드는 거.
키: 값(이름:ㅇㅇ) -> 예: 나이: 26 
 
 
② 접근, 추가, 삭제 
객체에 접근할 땐 .이나 대괄호 : hero.name 이러면 hiho가 출력됨
추가할 때도 .이나 대괄호 = 뭐뭐 : hero.gender = "female";
삭제는 앞에 딜리트 넣기 : 삭제는 delete hero.gender;
 
 
단축 작성 방법
만약 객체 외부에서 이미 name = " hiho"라고 정의를 했다. 

그럼 객체 안에서
const hero = {
name: name,
이렇게 할 거잖아. 
그거를 name, 이렇게 줄일 수 있음.
 

④ 값 존재 확인
hero.birthday처럼 존재하지 않는 거에 접근하면 undefined 뜨고 에러 처리 안됨.

in을 붙이면
'birthday' in hero;
false나 true로 떠줌. 프로퍼티 있는지 봐줌.
어떤 값이 나올지 확신할 수 없을 때 접근하기 전에 존재 여부를 확인함.

 
⑤ 예문
- 값 접근 
console.log(hero.name) or console.log(hero[name])
= hiho
- 전체 객체 
console.log(hero)

Object {
age: 26,
name: "hiho"
}


- 객체를 입력할 때는
const hero = {
age: 26,
name: "hiho"
}
 

객체 만들기 함수
받아온 나이와 이름, 취미는 풋볼 고정으로 반환하는 함수.

in을 이용해서 프로퍼티가 존재하는지 확인하는 예. 이런 경우는 대괄호 써서 접근해봐도 되기 때문에 실용적인 예는 아니고
실용적인 예: 특정 프로퍼티가 없는데도 true로 뜸 왜냐면 if문에서 어떤 조건 아닌 경우 다 true로 뜨라고 return 걸었거든. 이러면 오류 나는 거임. 
이런 예일 때는 이프에 || (or) 넣어서 없을 경우도 false로 처리하면 됨 ㅋㅋ
 
 
⑦ 객체 for 반복문
for ... in 반복문은 객체를 순회하면서 값을 얻을 수 있습니다.
포문보다 간단합니다. for(let 프로퍼티 in 객체)
 
- 객체 for in 반복문 사용 예시
for (x in hero) {
console.log(x)
}

이 경우는 객체가 가진 키를 모두 보여줌
x든 key든 어떤 단어든 상관없이 뜸

 
- 값만 보는 예시 
for (x in hero) {
console.log(hero[x])
}

hero[name]
hero[age]
이렇게 반복해서 검열하면서 값을 모두 보여주는 거임.

 

 

 

#13 - 객체(Object) - method, this

객체에게 능력 추가. 함수를 추가해서 동작을 ㅇㅇ 객체에 프로퍼티로 할당된 함수를 메소드라고 함. method
 
작성법 fly : function() {을 fly(){ 로 할 수 있는 거야.
 
함수 예
fly : function() {
console.log("수령님 날으시네")
}
 
 
fly () {
console.log("수령님 날으시네")
}
 
화살표 함수에는 디스가 없어서 객체 외부에서 가져옴. 전역객체를 가리키게 됨. 자바스크립트에서 this는 꽤 복잡함. 걍 객체 메소드랑 메소드 안의 디스(해당 객체를 가르킴)만 이해하셈
 
메소드 안의 디스는 해당 객체를 가르키기 때문에 나중에 객체 명칭 가지고 바꾸고 별칭 주고 null 주고 그래도 영향 안받음. 오류 안뜸. 메소드에선 객체명을 직접 쓰는 것보단 디스를 쓰는 게 좋음.
 
화살표 함수에서 메소드에 디스 쓰면 윈도우 어쩌고 뜨니깐 오류 뜸 이상하게 되니까 쓰지 말자. 

 

 

 

14, 15는 생략

728x90