2014-07-27 3 views
0

나는 wordpress에있는 문제점을 해결하는 것을 시도하고있다 그리고 멍청하다, 나는 뒤에 오는 부호 (typeof로 이루어져있는 대담한에있는 마지막 부분)로 직면 될 때 난처했다. 아무도 간단한 영어로 나에게 그것을 설명 할 수 있습니까? 나의 이해에서typeof의 사용을 이해하십시오

<input id="et_pb_number" type="text" class="regular-text" value="<%= typeof(et_pb_number) !== 'undefined' ? et_pb_number : '' %>" /> 

, 그것은 뭔가 (가정 자바 스크립트) 변수 (et_pb_number)의 유형을 확인하고이 정의되어 있는지 확인하고 다음 다음 어떤 일 것이라는 점을 의미합니까?

값의 유형을 확인하지 않으려면 어떻게해야합니까?

답변

0

주위 부분은 유형과 직접 관련이 없습니다. 그것은 년대 Ternary Operatorexpression ? when-true : when-false

이 두 정확히 동일합니다

// ternary form 
var test = typeof(et_pb_number) !== 'undefined' ? et_pb_number : ''; 
console.log(test); 


// if else block form 
var test; 
if (typeof et_pb_number !== 'undefined') { 
    test = et_pb_number; 
} else { 
    test = ""; 
} 
console.log(test); 

삼항 연산자는 여러 프로그래밍 언어에 존재하고 기술적/다른 것처럼 정확하게 사용 할 수 있습니다 -하지만 것은 조심! 때로는 읽기 힘들 때가 있습니다. 한 가지 규칙은 으로 만 사용하면 일부 조건 (사용자의 경우에는 그런 방식으로 사용됨)에 따라 둘 중 하나를 반환 할 수 있습니다. 말하는 방식으로 : 이것은 하나의 값을 반환하는 것 이외의 부작용이없는 경우에만 사용되어야합니다 (보통).

당신은 기술적으로 완전히이 작업을 수행 할 수 있습니다,하지만 난 그것을 권하고 싶지 않다 (다시 :. 이해 가능성을 이유로 기술적으로는 그냥 괜찮습니다) : 예를 직접 바깥 세상을 바꿀 것이라고

// don't do this (unless you have a really really really good reason. 
var someValue = true; 
someValue ? $('body').html('Hello') : $('body').html('World') 

.

관련 문제