개체를 반환하는 IIFE가 있습니다. index.html에있는 script 태그에 추가하는 app.js 파일에서 typeof my IIFE 콘솔에 로그하며 객체입니다. 그것은 함수가 아니어야합니까? 왜 typeof 객체를 반환 무엇입니까?typeof를 IIFE에 콘솔에 기록 할 때 함수 대신 객체입니다, 왜?
여기 app.js 내 인생이다 ". 즉시 호출 함수 표현식"
var UIController = (function() {
var DOMstrings = {
inputType: '.add__type',
description: '.add__description',
value: '.add__value',
addBtn: '.add__btn'
};
return {
getInput: function() {
// return an object containing all values from UI elements
return {
type: document.querySelector(DOMstrings.inputType).value, // will be either income or expense
description: document.querySelector(DOMstrings.description).value, // description of transaction
value: document.querySelector(DOMstrings.value).value // value of transaction
};
},
getDOMStrings: function() {
return DOMstrings;
}
};
})();
console.log(typeof UIController);
나는 이해할 수 없다. 당신은 "IIFE"라는 용어를 사용하고 있습니다.이 코드는 당신이이 코드가 무엇인지 이해하는 것처럼 들립니다. 그런데 왜 함수 대신 객체를 얻는 지 묻습니다. 그러면이 코드가 무엇인지 이해하지 못하게됩니다. IIFE가 무엇이라고 생각합니까? 왜 당신은 기능을 기대합니까? – ruakh
나는 그것이 무엇을하는지 이해하지만, typeof UIController가 함수 대신에 왜 객체인가? 함수 표현식을 작성하고 해당 유형을 콘솔에 기록한 경우 오브젝트가 아닌 함수가되므로이 경우 오브젝트를 가져 오는 이유는 무엇입니까? – Mjuice
왜'var x = "foo".length; typeof x'''foo ''가'string' 일 때'number'를 반환하겠습니까? – melpomene