haxe로 작성된 기존 플래시 앱을 openfl 및 haxe를 사용하여 javascript로 컴파일하려고합니다.haxe 초기화되지 않은 멤버 변수가 플랫폼간에 일치하지 않습니다
플래시에서 나는 다음과 같은 작업을 수행 할 수 있습니다
class foo
{
var bar : Int;
public function new()
{
trace(bar); //under flash prints 0, under javascript undefined
}
}
0 대신 자바 스크립트로 컴파일, 내가 정의되지 않은 얻을.
제 질문은 생성자가 초기화되지 않은 채로 멤버 변수를 남겨두면 컴파일 인쇄 경고/오류를 만들 수 있습니다.
더 나은 내가 내가 그렇게 haxe = 0 등, 내가 테스트를하지만, 아마도 객체하지 않은 플로트, 부울 = 거짓과 0
같은 이야기 JS 나를 위해 그들을 초기화 할 수 있도록 haxe 할 수 있습니다 = null도.
앱에는 144 개의 클래스와 20k 줄 이상의 코드가 있습니다. 명시 적 초기화 도구를 수동으로 찾아서 추가하는 데 시간이 오래 걸릴 수 있습니다. 그래서 나는 대안을 찾고 있습니다.
이것은 문서화 된 동작입니다 : http://haxe.org/manual/types-nullability.html - 기본적으로 "동적"플랫폼 (JS, Neko, PHP, Python)에서 기본값은 항상 null입니다. @ 니코의 대답은 정확했습니다. 선언 할 때 0으로 초기화하면 안전 할 것입니다. –