タグ付けされた質問 「null-check」



8
JavaScript nullチェック
私は次のコードに遭遇しました: function test(data) { if (data != null && data !== undefined) { // some code here } } 私はJavaScriptに少し慣れていますが、ここで読んだ他の質問から、このコードはあまり意味がないように見えます。 特に、この回答では、 以外のコンテキストで未定義の変数にアクセスすると、エラーが発生しますtypeof。 更新:上記の(の引用)答えは誤解を招く可能性があります。«未定義の変数»ではなく、« 宣言されていない変数»と表示する必要があります。 私が知ったように、Ryan♦、maerics、およびnwellnhofの回答では、関数に引数が指定されていない場合でも、引数の変数は常に宣言されています。この事実は、以下のリストの最初の項目が間違っていることも証明しています。 私の理解では、次のシナリオが発生する可能性があります。 関数が引数なしで呼び出されたためdata、未定義の変数が作成され、でエラーが発生しましたdata != null。 この関数は、引数としてnull(またはundefined)を指定して具体的に呼び出されました。この場合data != null、内部コードはすでに保護されているため、&& data !== undefined役に立たなくなります。 機能は、それが自明の両方を渡します。その場合にはnull以外の引数、と呼ばれていたdata != null と data !== undefined。 Q:私の理解は正しいですか? 私はFirefoxのコンソールで以下を試しました: -- [15:31:31.057] false != null [15:31:31.061] …

3
intの剰余演算子によりjava.util.Objects.requireNonNull?
私はいくつかの内部メソッドから可能な限り多くのパフォーマンスを得ようとしています。 Javaコードは次のとおりです。 List<DirectoryTaxonomyWriter> writers = Lists.newArrayList(); private final int taxos = 4; [...] @Override public int getParent(final int globalOrdinal) throws IOException { final int bin = globalOrdinal % this.taxos; final int ordinalInBin = globalOrdinal / this.taxos; return this.writers.get(bin).getParent(ordinalInBin) * this.taxos + bin; //global parent } プロファイラーでjava.util.Objects.requireNonNull、にCPU使用率が1%あるのを見ましたが、それを呼び出すことすらしません。バイトコードを検査するとき、私はこれを見ました: public getParent(I)I throws java/io/IOException …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.