CoffeeScript 정의되지 않음
자바 스크립트에서 변수가 생성되지 않았는지 확인하려면
if (typeof MyVariable !== "undefined"){ ... }
커피 스크립트에서 어떻게하는지 궁금 해요? ...
if (MyVariable?false){ ... }
그러나 이것이 MyVariable
함수인지 확인하면 void (0) 또는 이와 유사한 것을 호출하지 않으면 MyVariable (false)를 호출합니다.
마지막으로 이렇게 쉬운 방법을 찾았습니다.
if (MyVariable?){ ... }
다음을 생성합니다.
if (typeof MyVariable !== "undefined" && MyVariable !== null){ ... }
업데이트 2014 년 4 월 7 일 데모 링크
먼저 질문에 답하려면 :
if typeof myVariable isnt 'undefined' then # do stuff
Magrangs의 솔루션은 undefined와 false를 구분해야하는 경우를 제외하고 대부분의 경우에 작동합니다 (예 : myVariable이 true, false 또는 undefined 일 수있는 경우).
그리고 지적하자면 조건을 괄호로 묶어서는 안되며 중괄호를 사용해서는 안됩니다.
then
모두가 같은 라인에있는 경우 키워드는 그렇지 않은 코드가 내부의 조건이 무엇인지 나타 내기 위해 들여 쓰기를 사용하여 사용할 수 있습니다.
if something
# this is inside the if-statement
# this is back outside of the if-statement
도움이 되었기를 바랍니다!
이 답변은 이전 버전의 coffeescript입니다. 최신 답변을 원하면 위의 Jaider의 답변을 참조하십시오 (2014 년 7 월 기준).
이 커피 스크립트 는 내가 생각하는대로 수행합니다.
if not MyVariable?
MyVariable = "assign a value"
다음을 생성합니다.
if (!(typeof MyVariable !== "undefined" && MyVariable !== null)) {
MyVariable = "assign a value";
}
Nb MyVariable
첫 번째에 할당하면 이 코드MyVariable
에서처럼 undefined로 설정하더라도 다음과 같이 컴파일됩니다.
if (!(MyVariable != null)) {
MyVariable = "assign a value";
}
나는 !=
CoffeeScripts Existential Operator
(물음표) 에서 사용하는 undefined
것이 null
.
추신 실제로 if (MyVariable?false){ ... }
일할 수 있습니까? 이 실존 연산자와 거짓, 즉 사이에 공백이 아니라면 그것은 나를 위해 컴파일되지 않습니다 MyVariable? false
다음 커피 스크립트 때문에의 함수처럼 그것을 확인하게 false
이 생각하는 당신을위한 매개 변수 MyVariable
, 예를 들면 :
if MyVariable? false
alert "Would have attempted to call MyVariable as a function"
else
alert "but didn't call MyVariable as it wasn't a function"
생성 :
if (typeof MyVariable === "function" ? MyVariable(false) : void 0) {
alert("Would have attempted to call MyVariable as a function");
} else {
alert("but didn't call MyVariable as it wasn't a function");
}
typeof MyVariable isnt "undefined"
에서 js2coffee
위 의 Jaider의 답변 (불충분 한 평판으로 인해 댓글을 달 수 없음) 외에도 객체 / 배열 내부에있는 경우 다른 경우가되도록주의하십시오.
someArray['key']?
다음으로 변환됩니다.
someArray['key'] != null
js2coffee.org의 스크린 샷 :
나는 단지 사용한다 :
if (myVariable)
//do stuff
undefined는 거짓이므로 myVariable이 정의되지 않은 경우에만 작업을 수행합니다.
0, ""및 null 값에 대해 '일을 수행'한다는 점만 알고 있어야합니다.
정의되지 않은 null이 아닌 변수에 변수를 할당하는 가장 깨끗한 방법은 다음을 사용하는 것입니다 unless
.
unless ( myVar? )
myVar = 'val'
OR 관용구를 사용하지 않는 이유는 무엇입니까?
myVar or 'val'
따라서 결과는 'val'과 같은 정의되지 않은 경우 myVar와 같습니다.
참고 URL : https://stackoverflow.com/questions/9929306/coffeescript-undefined
'IT story' 카테고리의 다른 글
jQuery는 POST 매개 변수로 문자열을 보냅니다. (0) | 2020.09.06 |
---|---|
C로 현재 시간 가져 오기 (0) | 2020.09.06 |
모든 Rails 도우미를 모든 뷰에서 항상 사용할 수있는 이유는 무엇입니까? (0) | 2020.09.06 |
Apache Kafka 대 Apache Storm (0) | 2020.09.06 |
GCC로 미리 컴파일 된 헤더 (0) | 2020.09.05 |