생각해보면 당연한거지만...😅
만약 매개변수에 들어가는 배열의 길이가 0인 상태로 console에 '0개' 라고 출력하고 싶을땐 어떻게 하면 좋을까?
<script>
function fruits(calc) {
console.log(`과일이 ${calc.length}개 있습니다.`);
}
fruits(); //undefined로 보기 때문에 오류 메세지가 나타남.
//Uncaught TypeError: Cannot read properties of undefined (reading 'length') --> 배열의 길이를 찾지 못해!
</script>
위와 같이 입력을 하게 되면 calc의 length가 없지만 undefined로 갖게 된다. 따라서 함수를 실행시켜보면 배열의 길이를 알 수 없어!하면서 오류 메세지가 출력된다.
그렇다면 빈 배열이 0으로 출력될 수 있도록 하려면 어떻게 해야할까?
바로 매개변수에 빈 배열(fruits(calc=[]))을 같이 넣어주는 것이다.
<script>
function fruits(calc=[]) {
console.log(`과일이 ${calc.length}개 있습니다.`);
}
fruits([]); //과일이 0개 있습니다.
</script>
그러면 내가 원하던 '과일이 0개 있습니다.' 라고 출력시킬 수 있다.
매개변수에 배열이 들어간다니...
신기하면서도 충격적인(?) 발상인 것 같다.
이래서 JS는 굉장히 매력적인 언어라고 생각된다.