javascript에서 변수가 생성되지 않았는지 확인하려면
if (typeof MyVariable !== "undefined"){ ... }
커피 스크립트에서 어떻게하는지 궁금 해요? ...
if (MyVariable?false){ ... }
그러나 이것이 MyVariable
함수인지 확인하면 void (0) 또는 이와 유사한 것을 호출하지 않으면 MyVariable (false)을 호출합니다.
javascript에서 변수가 생성되지 않았는지 확인하려면
if (typeof MyVariable !== "undefined"){ ... }
커피 스크립트에서 어떻게하는지 궁금 해요? ...
if (MyVariable?false){ ... }
그러나 이것이 MyVariable
함수인지 확인하면 void (0) 또는 이와 유사한 것을 호출하지 않으면 MyVariable (false)을 호출합니다.
if MyVariable isnt undefined
생산한다 if (MyVariable !== void 0)
.
답변:
드디어 이렇게 쉬운 방법을 찾았습니다.
if (MyVariable?){ ... }
다음을 생성합니다.
if (typeof MyVariable !== "undefined" && MyVariable !== null){ ... }
업데이트 2014 년 4 월 7 일 데모 링크
item != null
undefined
있습니까? 아니면 다음에 의지해야 if typeof myVariable isnt 'undefined'
합니까?
==
및 !=
실제로 치료) null
과 undefined
동등한 값으로, 그래서 item != null
실제로 모두 시험 null
과 undefined
동시에. 로 쓰여진 경우에는 그렇지 않습니다 item !== null
.
먼저 질문에 답하려면 :
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
도움이 되었기를 바랍니다!
isnt
키워드에 해당 !=
커피 스크립트에서, 당신은 자바 스크립트를 사용하는 경우 더 읽을 수있다.
!==
하지!=
!=
in Coffee !==
는 JavaScript로 번역됩니다 .
이 답변은 이전 버전의 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");
}
variable?
이제 변수로 컴파일 = NULL!
... !== null
coffeescript.org/#try:variable%3F
위 의 Jaider의 답변 (불충분 한 평판으로 인해 주석을 달 수 없음) 외에도 객체 / 배열 내부에있는 경우 다른 경우가되도록주의하십시오.
someArray['key']?
다음으로 변환됩니다.
someArray['key'] != null
js2coffee.org의 스크린 샷 :
나는 단지 사용한다 :
if (myVariable)
//do stuff
undefined는 거짓이므로 myVariable이 정의되지 않은 경우에만 작업을 수행합니다.
0, ""및 null 값에 대해 '일을 수행'한다는 점을 알고 있어야합니다.
myVariable
과 같은 거짓 값이 허용되지 않는 한이 방법을 선호합니다 . null
0
정의되지 않은 null이 아닌 변수에 변수를 할당하는 가장 깨끗한 방법은 다음을 사용하는 것입니다 unless
.
unless ( myVar? )
myVar = 'val'
myVar ?= 'val'
OR 관용구를 사용하지 않는 이유는 무엇입니까?
myVar or 'val'
따라서 결과는 'val'과 같을 경우 정의되지 않은 경우 myVar와 같습니다.
''
, 0.0
및 false
. 아마도 원치 않는 것이 아닙니다.