본문 바로가기

전체 글

(290)
[JavaScript] try catch 활용하기 다음과 같은 코드를 실행시키면, function printMembers(members) { for(const member of members) { console.log(member); } } const teamA = ['짱구','훈이','유리']; printMembers(teamA); const random = { name: '철수' }; // for of 문에 객체를 사용할 수 없으므로 여기서 에러 발생 printMembers(random); const teamB = ['맹구', '짱아']; printMembers(teamB); for of 문에 객체를 할당할 수 없으므로 에러가 발생한다. 프로그램이 그대로 멈춰, 뒤에 있던 배열인 맹구, 짱아는 출력되지 않는다. 그러나 try catch 문으로 코드를..
[JavaScript] try catch 문 다음의 코드를 보면, const 키워드로 선언한 변수에 새로운 값인 '이훈이' 를 재할당 하려고 했기 때문에 에러가 발생한다. // try catch 문 console.log('에러 전'); const name = '신짱구'; console.log(name); name = '이훈이'; const language = 'JavaScript'; console.log(language); console.log('에러 후'); 이 에러 때문에 language 변수와 에러 후 문자열은 출력되지 않음. 이때, try catch 문을 활용하면 된다. [try catch] try { //코드 } catch (error) { //에러가 발생했을 때 동작할 코드 } try 블록에서는 동작시킬 코드를 작성하고, try 블록 안..
[JavaScript] 에러와 에러 객체 다음과 같은 코드가 있다. 이를 실행하면 console.log('시작'); const name = '신짱구'; console.log(name); console.log(age); console.log('끝'); 정의 되지 않은 age 변수에 의해 에러가 발생하고, '끝' 이라는 문자열은 출력되지 않는다. 자바스크립트로 안정적인 프로그램을 만들기 위해서는, 이러한에러를 다루는 방법이 중요하다. 자바스크립트는 코드를 실행할 때, 에러가 발생하면 그 에러에 대한 정보를 담은 에러 객체를 생성함. console 에서보는 에러메세지도 에러 객체를 담고 있음. 에러객체는 에러의 이름을 담은 name 프로퍼티와, 내용을 담은 message 프로퍼티를 가지고 있다. 에러는 크게 세 타입으로 분류될 수 있는데, 1. 존재..
[알고리즘] 배열 만들기3 배열 만들기3 배열 arr의 첫번째 구간에 해당하는 배열과 두번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열을 만들어 return. arr intervals result [1, 2, 3, 4, 5] [[1, 3], [0, 4]] [2, 3, 4, 1, 2, 3, 4, 5] 나의 풀이: function solution(arr, intervals) { var answer = [] for(i = 0; i < intervals.length; i++) { for(j = intervals[i][0]; j
[JavaScript] null 병합 연산자 [null 병합 연산자] 물음표 두개(??) 를 사용하여 null 혹은 undefined 값을 가려내는 연산자로, 연산자 왼편의 값이 null 이나 undefined 면, 연산자 오른쪽 값이 리턴되고, 연산자 왼편의 값이 null 이나 undefined 가 아니라면 왼편의 값이 리턴. const example1 = null ?? 'I'; // I const example2 = undefined ?? 'love'; // love const example3 = 'Codeit' ?? 'JavaScript'; // Codeit console.log(example1, example2, example3); // I love Codeit 이는 or 연산자와 비슷해보이지만, const title1 = false || ..
[JavaScript] 옵셔널 체이닝 (Optional Chaining) 객체를 활용하여 데이터를 표현하다보면, 이런식으로 중첩된 객체를 작성하는 일이 빈번하다. function printCatName(user) { console.log(user.cat.name); } const user1 = { name: 'Captain', cat: { name: 'Crew', breed: 'British Shorthair', } } printCatName(user1); // Crew 중첩된 개체를 작성할 때, 주의할 부분이 있음. onst user2 = { name: 'Young', } console.log(user2.cat); // undefined printCatName(user2); // TypeError: Cannot read property 'name' of undefined 데..
[JavaScript] 조건 연산자/ 삼항 연산자 [삼항연산자] 조건 ? truthy 할때 표현식 : falsy 할 때 표현식 조건연산자 라고도 하며 다음과 같이 나타낼 수 있다. const CUT_OFF = 60; function passChecker(score) { return score > CUT_OFF ? '합격!' : '불합격!' } console.log(passChecker(50)); // 불합격! console.log(passChecker(70)); // 합격! 조건이 여러개일 경우 다음과 같이 작성하면 됨. // 조건 ? truthy 할 때 표현식 : falsy 할 때 표현식 const CUT_OFF = 60; function passChecker(score) { return score > CUT_OFF ? '합격!' : score == ..
[JavaScript] this 객체 브라우저에 다음과 같이 입력하면, console.log(this); 전역객체인 Window 객체가 this 의 기본값이 된다. const user = { firstName: 'Tess', lastName: 'Jang', getFullName: function() { return `${user.firstName} ${user.lastName}` }, }; console.log(user.getFullName()); // Tess Jang 위 메소드를 다른 객체에도 적용하고 싶어서 function getFullName() { return `${user.firstName} ${user.lastName}` } const user = { firstName: 'Tess', lastName: 'Jang', getFul..