gurwhddl
코알못 공부블로그
gurwhddl
전체 방문자
오늘
어제
  • 분류 전체보기
    • CSS
    • JS
    • node.JS
    • REACT
    • 코딩테스트 연습

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
gurwhddl

코알못 공부블로그

JS

for in / for of

2022. 11. 16. 18:49

JS는 반복문이 좀 어려운 편이라고 함(그런가..자바가 더 어려운거같은데)

반복문 쓰는 이유

1.코드 여러번 실행할 때

2.자료 꺼내쓸 때

for/while 말고도

forEach - Array 전용

 

for in - object에 있던 값을 전부 하나씩 꺼내서 사용 할 때

let obj = {A : 1 , B : 2}

  for (let key in obj) {

         console.log(key)}

//  A B 

key라고 변수설정해서 key값 나오는게 아니라 그냥 뭘넣던 key값이 나옴

value를 뽑고싶으면 obj[key] 해주면됨 *obj.key는 안됨

enumerable한 것만 가능함 - obj.getOwnPropertyDescriptor(obj,'A') 하게 되면 3가지 특성이 더 나오는데 , 여기에 

enumerable : true라고 있어야 가능 (셀 수 있는지 여부 알려주는건데 깊이 알필요는 없음)

부모의 prototype도 반복해줌 - 쓸데 없음

 

class 부모 { }

부모.property.name = 'lee'

let obj = new 부모( ); // 이렇게 하면 새 오브젝트 만들어짐

이걸 for in 돌리면 property로 지정된것까지 같이 출력됨 - 굳이 이것까지 반복시키는 경우는 별로 없음

이게 싫으면 if (obj.hasOwnProperty(key){

console.log(key) } 이런식으로 저 조건이 true면 뒤에 반복문 돌려라 이런식으로 설정을 해줘야됨

보통 Object 자료형에만 씀

 

for of - array , 문자 , arguments, NodeList , Map , Set 다 가능

let Arr = [1,2,3,4,5]

for (let A  Arr) {
console.log(A) } // 이렇게 해주면 forEach 해서 콜백함수 만들고 이런거랑 똑같은 역할 가능

문자열도 가능함

*Iterable한 자료형만 사용 가능

Arr[Symbol.iterator]() // Array Iterator 라고 나오는데 내부 데이터 출력을 도와주는 함수같은거임

예시로 들었던 저런것들에는 다 이게 내장되어 있음

NodeList - document.querySelectorAll 이런거 하면 해당 html 태그가 [  ] 안에 넣어서 나오는데 이게 NodeList

 

 

'JS' 카테고리의 다른 글

JS 복습  (0) 2022.11.21
Symbol 자료형  (0) 2022.11.16
자바스크립트 동기 처리 / promise 문법  (0) 2022.10.14
자바스크립트로 점수판 만들기  (0) 2022.10.12
.includes랑 정규식(regular expression)으로 문자검사하기  (0) 2022.10.11
    'JS' 카테고리의 다른 글
    • JS 복습
    • Symbol 자료형
    • 자바스크립트 동기 처리 / promise 문법
    • 자바스크립트로 점수판 만들기
    gurwhddl
    gurwhddl

    티스토리툴바