반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래밍
- 네트워크
- 컴퓨터비전
- 사이버보안
- 네트워크보안
- 자료구조
- 코딩
- 파이썬
- 자바스크립트
- 인공지능
- 소프트웨어
- 데이터과학
- 데이터베이스
- 버전관리
- 딥러닝
- 컴퓨터공학
- 웹개발
- 클라우드컴퓨팅
- 데이터구조
- 컴퓨터과학
- 알고리즘
- 소프트웨어공학
- 빅데이터
- I'm Sorry
- Yes
- 보안
- 프로그래밍언어
- 머신러닝
- 2
- 데이터분석
Archives
- Today
- Total
스택큐힙리스트
TypeError: (중간 값)(...)은(는) 함수가 아닙니다. 본문
반응형
내가 작성한 자바스크립트 로직을 단일 js 파일의 클로저로 작성할 때 모든 것이 잘 작동합니다:
(function(win){
//주 로직이 여기에 있습니다
win.expose1 = ....
win.expose2 = ....
})(window)
그러나 동일한 js 파일의 클로저 이전에 대체 기능으로 로깅 함수를 삽입하려고 시도하면 다음과 같은 TypeError가 발생합니다:
window.Glog = function(msg){
console.log(msg)
}
//이것은 주 클로저 이전에 추가되었습니다.
(function(win){
//주 자바스크립트 로직을 포함하는 이전 클로저
})(window)
무엇이 잘못되었나요?
답변 1
에러는 세 번째 줄의 세미콜론이 누락되어 발생합니다:
window.Glog = function(msg) {
console.log(msg);
}; // <--- 이 세미콜론을 추가하세요
(function(win) {
// ...
})(window);
ECMAScript 명세에는 자동 세미콜론 삽입에 대한 특정 규칙이 있지만, 이 경우에는 세미콜론이 자동으로 삽입되지 않습니다. 왜냐하면 다음 줄에서 시작하는 괄호로 둘러싸인 표현식이 함수 호출의 인수 목록으로 해석될 수 있기 때문입니다.
따라서 그 세미콜론이 없다면, 익명의 window.Glog
함수가 함수를 msg
매개변수로 사용하여 호출되었고, 이어서 (window)
가 반환된 것을 호출하려고 시도했습니다.
이렇게 코드가 해석되었습니다:
window.Glog = function(msg) {
console.log(msg);
}(function(win) {
// ...
})(window);
window.Glog = function(msg) {
console.log(msg);
}(function(win) {
// ...
})(window);
답변 2
표제: Uncaught TypeError: (중간 값)(...)은(는) 함수가 아닙니다. 에 대한 SEO-의식을 담은 한국어 에세이서론:
최근 웹 개발에서 자주 보이는 Uncaught TypeError: (중간 값)(...)은(는) 함수가 아닙니다.라는 오류 메시지에 대해 이야기해보고자 합니다. 이 글에서는 이 오류의 의미와 원인, 그리고 이 문제를 해결하는 방법을 알아보겠습니다. 웹 개발자이거나 웹 개발에 관심을 가진 분들에게 이 글이 도움이 될 것입니다.
본론:
1. Uncaught TypeError: (중간 값)(...)은(는) 함수가 아닙니다. 오류가 무엇을 의미하는지 알아봅시다.
이 오류는 JavaScript 프로그래밍 환경에서 발생하는 오류로, 변수나 속성이 함수가 아닌 것으로 간주될 때 주로 발생합니다. 즉, 프로그램이 함수로 예상되는 값에 접근하려고 할 때 발생하는 오류입니다.
2. Uncaught TypeError: (중간 값)(...)은(는) 함수가 아닙니다. 오류 발생의 주요 원인은 다음과 같습니다:
- 변수 또는 속성에 잘못된 값을 할당한 경우
- 함수 대신 객체 또는 다른 유형의 값에 접근하려고 시도한 경우
- 함수 이름을 잘못 입력하여 잘못된 함수에 접근한 경우
3. 이 문제를 해결하는 방법:
- 오류가 발생하는 JavaScript 코드를 주의 깊게 살펴보고 오류를 일으키는 줄을 찾아 수정해야 합니다. 고려해야 할 가능한 수정 사항에는 변수 또는 속성에 올바른 값을 할당하는 것, 정확한 함수에 접근하는 것 등이 있습니다.
- 변수 또는 속성에 할당 된 값은 JavaScript에서 예상한 유형인지 확인해야 합니다. 우리가 원하는 대로 변수 또는 속성에 함수를 할당했는지 확인하고 필요한 경우 수정해야 합니다.
- JavaScript 코드의 함수 이름을 확인하고, 정확한 함수를 참조하도록 수정해야 합니다. 때로는 함수 이름을 잘못 입력하는 실수가 발생할 수 있기 때문에 이를 유의해야 합니다.
결론:
이번 에세이에서는 Uncaught TypeError: (중간 값)(...)은(는) 함수가 아닙니다. 오류에 대해 알아보고 해결하는 방법에 대해 살펴보았습니다. 웹 개발에서 발생하는 이러한 오류는 코드의 실수나 타입 불일치로 인해 발생할 수 있습니다. 따라서 개발자들은 이러한 오류를 방지하기 위해 주의 깊게 코드를 작성하고 오류를 수정하는 데 필요한 조치를 취해야 합니다.
반응형
Comments