728x90
목차
1. JavaScript의 맵(map)
2. JavaScript의 예외처리
1. JavaScript의 맵(map)
- Key,Value로 이루어진 데이터 집합의 자료구조
형태
const 맵이름 = new Map([['키1', '값1'],['키2', '값2'],....]);
const 맵이름 = new Map([['키1', '값1'],['키2', '값2'],....]);
<script>
const map = new Map([
['apple', '🍎'],
['banana', '🍌']
]);
console.log(map);
console.log('-----------');
// 사이즈 확인
console.log(map.size);
console.log('-----------');
// 키 존재 확인
console.log(map.has('apple'));
console.log(map.has('banana'));
console.log(map.has('orange'));
console.log('-----------');
// 순회(반복)
map.forEach((value, key) => console.log(key, value));
console.log('-----------');
// 데이터 찾기
console.log(map.get('apple'));
console.log(map.get('banana'));
console.log(map.get('orange')); // 키값이 존재 하지 않기때문에 undefined
console.log('-----------');
obj = {'apple': '🍎','banana':'🍌'}
//console.log(obj.get('apple'));// get함수가 없어서 할수 없음
console.log('obj : ' + obj['apple']);
console.log('obj : ' + obj.apple);
console.log('map : ' + map['apple']); // undefined(값을 찾을수 없다. )
console.log('map : ' + map.get('apple')); // map에서 값을 찾을수 있는 방법이 get을 이용하는것 !
console.log('map : ' + map.apple);// undefined(값을 찾을수 없다. )
console.log('-----------');
// 값을 추가
map.set('orange','🍊');
console.log(map);
console.log('-----------');
// 값을 삭제
map.delete('orange');
console.log(map);
console.log('-----------');
// 전부 삭제
map.clear();
console.log(map);
</script>
✔ 팁!! 주석(comments)
// : 한줄짜리 주석
/* ..... */ : 여러줄 주석
/** */ : JSDoc 주석 (추천하는 주석문)
예) /**
*ㅁㄴㅇㄹㅇㅁㄴ
*ㅁㄴㅇㄹㄴㅇㅁ
*ㅁㅇㄴㄻㄴㅇ
*/
2. JavaScript의 예외처리
- 문법
try {
예외가 발생할 것으로 예상되는 문장;
...
...
}catch(error 객체){
예외가 발생했을 때 처리할 문장;
...
...
}finally{
예외와 관계없이 무조건 실행할 문장;
...
}
예외처리1 예시)
<h2>예외처리1</h2>
<script>
//JSDoc 예시
/**
* JSDOC 사용법
* 주어진 매개변수 경로에 의한 파일을 만들고 반환함
* @param {*} path 문자
* @returns 파일객체
*/
function readFile(path){
throw new Error('파일 경로를 찾을 수 없음!'); //에러를 일부로 발생시키기 throw
return '파일경로를 참조하여 파일을 생성함';
}
function processFile(path){
let content;
try{
content = readFile(path);
}catch(error){
console.log(error);
content = '기본내용';
}finally{
console.log('에러의 발생 여부와 관계없이 실행할 문장을 작성했음!');
}
const result = '결과: '+ content;
return result;
}
const result = processFile('경로');
console.log(result);
</script>
예외처리2 예시)
<script>
function func1(){
console.log('func1이 호출되었어요!');
throw new Error('에러발생!!'); // 억지로 에러발생!
}
function func2(){
try{// 이렇게 예외 처리를 해놓지 않으면 func1에러 에서 비정상 프로그램 종료가 될것이다 !
func1();
}catch(error){
console.log('예외처리 완료!');
throw error; // 억지로 에러발생!
}
}
function func3(){
try{
func2();
}catch(error){
console.log('여기에서 예외처리 또 완료!');
}
}
func3();
console.log('프로그램이 정상적으로 종료되었습니다. ');
// 함수는 스택방식과 비슷하다.
// func3함수-> func2함수-> func1함수 이렇게 되면 스택처럼 쌓이게 된다.
// 반환 해서 돌아올때는 func1함수-> func2함수-> func3함수 이런식으로 나온다.
728x90
'개발 > JavaScript' 카테고리의 다른 글
2023.04.13 JavaScript의 에이싱크, JSON (0) | 2023.04.14 |
---|---|
2023.04.12 JavaScript의 프로미스,옵셔널체이닝 (0) | 2023.04.12 |
2023.04.11 JavaScript의 이벤트, 이터레이터,스프레드,세트 (1) | 2023.04.11 |
2023.04.10 JavaScript의 클래스심화, 상속의활용 (1) | 2023.04.10 |
2023.04.10 JavaScript의 함수작성법,객체활용 (0) | 2023.04.10 |
댓글