JavaScript - 문제 미리보기
문제 581
hard
다음 코드의 실행 결과는?
```javascript
function myFunction(a, b) {
return arguments.length;
}
let result1 = myFunction(4, 3);
let result2 = myFunction.toString().includes("arguments");
console.log(result1, result2);
```
정답: A
1) `arguments.length`는 함수에 전달된 인수의 개수를 반환합니다. `myFunction(4, 3)`에서 두 개의 인수(4, 3)가 전달되었으므로 `result1`은 2입니다.
2) `toString()` 메서드는 함수를 문자열로 변환합니다. 함수의 전체 코드가 문자열로 반환되므로 "arguments"라는 단어가 포함되어 있습니다. 따라서 `includes("arguments")`는 `true`를 반환합니다.
JavaScript 함수는 객체의 성격을 가지고 있어서 `properties`와 `methods`를 가집니다. `arguments`는 함수 내부에서 사용할 수 있는 특별한 객체로, 함수에 전달된 모든 인수를 담고 있으며, `toString()`은 함수 객체의 메서드로 함수를 문자열 형태로 반환합니다.
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.