회고/Techit Frontend School 10기

[멋쟁이 사자처럼 프론트엔드 스쿨] 36일차 TIL - try...catch, BOM

kelly09 2024. 6. 21. 01:20

🍰 난 여전히 실력이 부족하고, 진도는 멀리 멀리 떠나 버리고. 우울하던 차에 팀원 분이 지금은 이런 게 있다- 정도로 공부하고, 이후에 필요할 때 찾아서 쓰다 보면 저절로 외워지고 익혀지니까 너무 완벽히 하려고 하지 않아도 된다고 해서 위로가 되었다. 안 그래도 수업 없던 3일 간 지지난주 금요일 진도부터 복습 했는데 절반 정도를 끝냈어서 자괴감이 들었다. 오늘 스프린트 회고 시간에 들은 효과적인 공부법들을 적용 해봐야지! 🍮 어쨌든 나아가자고.

🍴 try...catch

: 예외 처리를 위해 사용되는 구조.

try {
    // 예외가 발생할 수 있는 코드 블록
    throw new Error('예외 발생 예시'); // 강제로 예외 발생
} catch (error) {
    // 예외가 발생했을 때 처리할 코드 블록
    console.error('예외 발생:', error);
    // 예외 처리 로직
} finally {
    // 선택적으로 사용할 수 있는 finally 블록
    // 예외 발생 여부와 관계없이 항상 실행됨
    console.log('항상 실행됩니다.');
}
  • throw 문 : 명시적으로 예외 발생시킬 수 있음. 가장 가까운 try-catch 구문에서 잡히게 됨
  • catch 매개변수 : catch 블록에서 예외 객체에 접근 시 error 매개변수를 사용하여 예외의 세부 정보 확인 가능
  • finally 블록 : 예외 발생 여부와 관계없이 항상 실행됨

🍴 JSON(JavaScript Object Notation)

: 데이터를 효과적으로 교환하고 저장하기 위한 경량의 데이터 형식

  • 키-값 쌍으로 이루어진 데이터 객체를 표현함
{
    "name": "John Doe",
    "age": 30,
    "isStudent": false,
    "courses": ["Math", "Science", "History"],
    "address": {
        "street": "123 Main St",
        "city": "Anytown"
    },
    "isActive": null
}

JSON.stringify()

: JavaScript 객체나 값들을 JSON 문자열로 변환

let obj = {
    name: "Lee",
    age: 30,
    city: "Seoul"
};

let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"Lee","age":30,"city":"Seoul"}

JSON.parse()

: JSON 문자열을 파싱하여 JavaScript 객체로 변환

let jsonStr = '{"name":"Lee","age":25,"city":"Seoul"}';

let obj = JSON.parse(jsonStr);
console.log(obj.name); // "Lee"
console.log(obj.age); // 25
console.log(obj.city); // "Seoul"

🍴 BOM(Browser Object Model)

: 웹 브라우저 창이나 탭을 관리하고 제어하는 객체 모델.

  • JavaScript는 BOM을 통해 브라우저 창과 상호 작용 할 수 있음
  • 주요 요소
    • window 객체 - 웹 브라우저의 창을 나타냄
    • navigator 객체 - 현재 브라우저의 정보를 제공 (ex. navigator.userAgent)
    • location 객체 - 현재 문서의 URL을 나타내며, URL을 변경하거나 정보를 얻는 데 사용됨 (ex. location.href, location.pathname)
    • history 객체 - 사용자가 방문한 URL의 히스토리를 관리함 (ex. history.back(), history.forward())
    • screen 객체 - 사용자의 화면에 대한 정보 제공 (ex. screen.width, screen.height 등)