다른 방법으로, 세미콜론 삽입이 실패하고 코드가 깨진 채로 남아있는 이유는 무엇입니까?세미콜론을 사용하지 않는 것이이 코드를 중단시키는 이유는 무엇입니까?
function Foo() { }
Foo.prototype.bar = function() {
console.log("bar");
} // <------------ missing semicolon
(function() {
Foo.prototype.la = function() {
console.log("la");
};
})();
왜 자바 스크립트 구문 분석 엔진 내 폐쇄에 무엇이와
Foo.prototype.bar = function() {
을 결합하려고
? 이 합리적인 결론을 내릴 수있는 물건이 있습니까?
나는 세미콜론 삽입이 당신을 구할 것이라는 기대에 따라 세미콜론을 사용하지 말 것을 권하고 있지 않다. 나는 실수로 하나를 남겨 두었을 때 위 코드가 왜 (더 유용한 버전의) 코드가 고장 났는지 궁금 할뿐입니다.
예 - 그래서 bar는 그 함수가 아니라 그 함수의 결과를 그 괄호 안에있는 것으로 호출 할 때 할당됩니다. 고맙습니다. –
HEH - 나는 정직하게'+ function()'을 선호하는 유일한 사람이라고 생각했습니다. 그 사람은 저축꾼이라고 생각했습니다. :) –
@AdamRackis : 우리 중에 몇 명이 있습니다. :) 너무 많은 문자가 걱정된다면 실제로'void '를 선호합니다. 더 두드러지는 것 같습니다. –