예외 처리.. 그 놈의 예외 처리..!!

김진서·2024년 10월 20일
post-thumbnail

오늘의 목표

  • 마지막 최종 마무리.
  • 라는 질문 더 찾기!!
  • 좀 더 효율적인 코드 리팩토링.
  • JavaScript 필요한 것 1가지 개념 공부하기.
  • 미션 제출 시의 회고록 내용 구상.
    - 느낀 점
    - 배운 점
    - 많은 시간을 투자한 부분

공부한 내용

  • git 커밋 메시지 수정 방법.
  • 자바스크립트 Array-like vs Array
    - 1. Array (배열): Array는 JavaScript에서 내장된 객체 타입 중 하나로, 여러 개의 값을 순서대로 저장할 수 있는 자료구조. 배열은 다양한 메서드프로퍼티를 제공하며, 배열 요소에 접근하거나 배열을 조작하는 것이 가능. 배열 메서드 사용 가능: push(), pop(), map(), filter(), reduce(), forEach() 등 다양한 메서드를 사용할 수 있다. 프로토타입: 배열은 Array.prototype에 정의된 메서드를 상속받는다. length 프로퍼티: 배열의 길이를 자동으로 추적하는 length 프로퍼티가 있다.
const arr = [1, 2, 3];
console.log(arr.length); // 3
arr.push(4);             // 배열에 4 추가
console.log(arr);        // [1, 2, 3, 4]
  • 2. Array-like 객체: Array-like 객체배열처럼 보이지만 배열이 아닌 객체. 즉, length 프로퍼티를 가지고 있고 인덱스로 요소에 접근할 수 있는 객체이지만, 배열의 내장 메서드를 가지고 있지 않는다. length 프로퍼티: 배열처럼 length 프로퍼티를 가지고 있다. 인덱스로 접근 가능: 배열처럼 숫자 인덱스를 사용하여 값에 접근할 수 있다. 배열 메서드 사용 불가: 배열에서 사용하는 메서드(map(), filter() 등)를 사용할 수 없다. Array.prototype을 상속받지 않음: Array-like 객체는 배열이 아니기 때문에 배열의 프로토타입에 정의된 메서드와 프로퍼티를 상속받지 않는다.
const arrayLike = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
};

console.log(arrayLike[0]);  // 'a'
console.log(arrayLike.length);  // 3

// 배열 메서드 사용 불가
arrayLike.push('d');  // TypeError: arrayLike.push is not a function

TIL (Today I Learned)

  • Array는 배열로, 배열의 메서드와 프로토타입을 상속받고 배열 메서드를 사용할 수 있다.
  • Array-like 객체는 length와 인덱스로 요소에 접근할 수 있지만, 배열의 메서드를 사용할 수 없으며 배열의 프로토타입을 상속받지 않는다.
  • 왜 서비스에서 예외 처리가 중요한가?
  • 간단한 문제라고 했을까?
  • git에서 무언가를 조작할 때, remote에 push 했냐 안했냐에 따라 방법이 달라지는 것 같다. 특히, remote에 이미 올라간 것을 조작할 때는 매우 신중해야 한다. local에서는 내가 알아서 잘 바꾸면 되지만, remote에서는 다른 개발자들 것까지 수정해야 하기 때문이다.
  • remote를 다루는 명령어는 git push가 거의 대부분인 것 같다.

잘한 것 (Keep)

  • 예외 케이스를 끝까지 물고 늘어져, 다 찾아낸 것.

아쉬운 점 (Problem)

  • 간단한 문제라고 했지만, 매일 붙잡고 있었음.. -> 다음 주에 같은 실수를 반복하지 않기 위해 준비하자.

내일의 보완 계획 (Try)

  • 다음 미션 준비.
    - 회고록 작성 준비.
    - 이번 주 미션 정리.
    - 이번 주 미션의 목표를 달성했는지 체크.

오늘의 감정

  • 간단한 문제여도, 깊게 들어가면 간단하지 않게 할 수 있다.
  • 정리, 문서화 빡세게 해놓자.
profile
PAy IT forwaRD를 실천하는 프론트엔드 개발자.

0개의 댓글