0

そのため、JS を開発するときに役立つ追加情報を保存するヘルパー名前空間があります。今は、それらをより適切に文書化し、JsDoc と Google Closure コンパイラの助けを借りて JS を強化する予定です。今日の2PMの時点で最新バージョンを入手しました。ただし、次のコードでコンパイラを実行するとエラーが発生します。

var my.company.tool = {
    "isNumber": function( p_value )
    {
            return ( typeof(p_value) == "number" ) ? true : false;
    },
    /**
    * @static
    * @returns {Boolean} Indicative of an object.
    */
    "isObject": function( p_value )
    {
            return ( typeof(p_value) == "object" ) ? true : false;
    }
}

したがって、両方の戻り行で、「エラー - 一貫性のない戻り値の型」というコンパイラ エラーが発生します。

Google クロージャ コンパイラでこのような三項演算子を使用するにはどうすればよいですか? はい、Google で検索しましたが、関連性のない検索結果が表示され続けます。今のところ、三項を削除しますが、エラーなしで使用することをお勧めします:

「Tomasz Nurkiewicz」が示唆するようにステートメントを更新しましたが、まだエラーが発生しています: Changed made to code:

var my.company.tool = {
    "isNumber": function( p_value )
    {
            return typeof(p_value) == "number";
    },
    /**
    * @static
    * @returns {Boolean} Indicative of an object.
    */
    "isObject": function( p_value )
    {
            return typeof(p_value) == "object";
    }
}

コンパイラ出力:

[pakeException]
    js/core/IHR.js:68: ERROR - inconsistent return type
    found   : boolean
    required: (Boolean|null)
            return typeof( p_value ) == "number";
                                     ^

    js/core/IHR.js:76: ERROR - inconsistent return type
    found   : boolean
    required: (Boolean|null)
            return ( typeof( p_value ) == "object" );
                                       ^

    2 error(s), 0 warning(s), 99.0% typed

タイプを {Boolean|null} に設定しようとしても、エラーが発生します。何を与える?

4

2 に答える 2

4

ラッパー型を参照するのに対し、プリミティブブール型を参照するため、戻り値の型を宣言する必要があり{boolean}ます。{Boolean}{boolean}{Boolean}{Boolean}

于 2011-07-08T16:54:22.707 に答える
2

これは役に立ちますか?さらに、よりクリーンで読みやすいコードが得られます...

var my.company.tool = {
    "isNumber": function( p_value )
    {
            return typeof(p_value) == "number";
    },
    "isObject": function( p_value )
    {
            return typeof(p_value) == "object";
    }
}
于 2011-07-07T20:04:25.000 に答える