void 연산
void는 단항 undefined 연산자입니다.
피연산자로 무엇을 지정하든간에 연산의 결과는 undefined 값이 됩니다.
구체적인 예를 살펴보도록 하겠습니다.
javascript
// 피연산자가 숫자
console.log(void 0); // undefined 가 기록
// 피연산자가 문자열
console.log(void "문자열"); // undefined 가 기록
var x = 0;
void x++; // 피연산자를 먼저 평가하기때문에 x 는 증가됩니다.
console.log(x); // 1 이 기록
console.log(void(x)); // 피연산자를 괄호로 감싼 것은 잘 실행되어 undefined 가 출력
어디에 쓰는지 알기 어려운 연산자이지만 클라이언트 사이드 자바스크립트에서 몇가지는 관용구로 사용하고 있습니다.
다음의 예는 HTML 의 a 태그를 클릭할 때 폼 안의 내용을 송신하는 자바스크립트 코드입니다.
html
<a href="javascript:void(document.form.submit())">
HTML 폼을 송신하지만 화면 이동을 하지 않습니다.
</a>
href 속성에 쓴 식에 평가값이 있으면 a 태그의 작용으로 URL 로 해석하여 해당페이지로 화면 이동을 하게 합니다.
이러한 a 태그의 작용을 멈추게 하려면 href 속성에 쓴 식이 undefined 값이 되도록 하면 됩니다.
Jaehee's WebClub
'JavaScript > Core & 개념ㆍ용어' 카테고리의 다른 글
다양한 즉시실행함수 호출패턴 (0) | 2016.09.29 |
---|---|
String 클래스 (0) | 2016.09.29 |
예외 처리 - throw 및 try/catch/finally (3) | 2016.09.29 |
연관 배열로서의 객체 (=유사배열 객체) (2) | 2016.09.29 |
자바스크립트 constructor & instanceof (0) | 2016.09.29 |