Unit9 회고

YEN J·2022년 9월 5일
0

code states

목록 보기
6/43

배열

1. 배열 기초

  • 배열: 순서가 있는 값
  • 값: 요소(element), 순서: 인덱스(index), 0부터 번호매김
  • 값은 인덱스를 이용해 접근(조회, 변경)
  • 인덱스를 벗어나면 undefined!
  • 이중 배열의 경우 2차원 배열이라고 생각하면 됨
  • 배열로 할 수 있는 일들
    • 길이 확인: length
    • dot을 이용해 변수가 가지고 있는 속성에 접근 가능, 명령 실행 가능(메소드로)
    • push, pop과 같은 메소드로 명령을 실행

2. 배열의 반복

  • 배열과 반복문을 조합하는 경우는 매우 빈번하게 일어남
  • 누적값을 출력할 때 주의할 점은 꼭 누적할 변수의 초기화를 진행해야 한다는 점, 만약 값을 할당하지 않고 선언만 해놓을 경우 undefined에 값이 누적되기 때문에 값이 NaN으로 출력되는 일이 발생함

3. 배열 메서드

  • Array.isArray: 배열인지 아닌지 불리언 값으로 출력해주는 함수, 배열의 경우 typeof로 타입을 확인하면 object로 출력되기 때문에 정확하게 배열 형식인지를 알아볼 때 사용하기 좋음
  • push, pop: 배열의 뒷 요소(element)를 추가, 삭제
  • unshift, shift: 배열의 앞 요소(element)를 추가, 삭제
  • indexOf: 특정 요소가 배열에 들어있는지 확인 시 사용 — 배열에 있는 요소라면 배열의 인덱스가 출력됨, 없는 요소라면 -1출력, 대소문자 구분함, indexOf(‘찾고자 하는 요소’)가 -1과 같은지 아닌지를 통해 배열 안에 요소 존재 여부 확인 가능
  • includes: 배열 안에 요소 존재 여부 확인, includes에 경우 IE에서는 호환이 안됨,,
    • 참고: console.table로 배열을 출력하면 테이블의 형식으로 나오기 때문에 필요에 따라 사용!

4. 추가적으로 알아두면 좋을 내용

  • 원본 배열의 수정 여부에 따른 분류

    • 원본 배열을 수정하는 함수: push(), unshift(), pop(), shift(), splice() 등
    • 원본 배열을 수정하지 않는 함수: slice(), join(), concat(), Array.isArray(), indexOf() 등
      • 배열은 mutable object이기 때문에 메서드 실행 시 mutable method인지 immutable method인지 잘 구분하여 사용할 것!, 참고로 javascript에서는 객체와 배열만이 가변 객체임
        가변객체
  • for ... of 명령문

    • 반복 가능한 객체에 대해 반복하는 명령문
        let iterable = [10, 20, 30];
    
        for (let value of iterable) {
          console.log(value);
        }
    	- 위와 같은 예시에서 반복문은 iterable 배열의 요소를 모두 출력하기 때문에 10, 20, 30이 차례대로 출력됨  	

객체

1. 객체의 필요성

  • 예를 들어, 한 사람에 대한 여러 정보를 저장해야 하는 경우?
  • 배열로 접근할 경우, 각 인덱스가 어떤 정보를 저장하는지 알아야 함,,,
  • 객체는 하나의 변수에 여러 정보가 담겨 있을 때 적합
  • 형식: {키(key): 값(value)}

2. 객체의 값을 사용하는 방법

  • Dot notation -> ‘변수.키’의 형식, 객체의 속성을 가져오는 것
  • Bracket notation -> ‘변수[‘키’]’의 형식

3. 객체 다루기

  • 키값은 변수가 아닌 문자열로 들어가기 때문에 대괄호 안에 문자열 형식으로 들어감
  • Bracket => 키 값이 동적으로 변할 때 사용, Dot 방식은 키 값이 동적으로 변할 경우 사용하기에는 한계가 있음
  • Dot, Bracket notation을 통해 값을 추가, 삭제(delete 키워드) 할 수도 있음
  • in 연산자: 해당 키가 있는지 확인 가능, ‘키 in 변수’ 형식

알아두면 좋을 내용

  • 배열과 객체의 차이점
    • 순서 정보의 유무: 배열은 순서가 있지만 객체는 키를 통해 데이터에 의미를 부여함
    • for...in문과 for...of문: 순서정보가 있는 배열의 경우 for...of문을 순서가 없는 객체의 경우 for...in 문을 사용함
  • 어떤 배열이 빈 배열인지 확인하는 방법
    • 예를 들어 arr === [] 형식으로 비교하면 false를 반환 -> 자바스크립트에서는 두 배열을 주소값이 다른 두 배열로 인식
    • 따라서 빈 배열인지 확인하고자 한다면 arr.length === 0과 같이 배열의 길이가 0과 같은지 비교해 주어진 배열이 빈 배열인지 확인
  • JSON이란
    • javascript 객체 문법을 따르는 문자 기반의 데이터 포맷
    • jason은 문자열 형태로 존재
    • Object.values(객체이름): 객체의 값을 가져와 배열로 반환
    • Object.keys(객체이름): 객체의 키를 가져와 배열로 반환
      JSON-MDN

0개의 댓글