タグ付けされた質問 「undefined」

値が割り当てられていない変数は未定義です。


12
未定義の場合、JavaScriptは変数を設定します
javascript変数をテストし、未定義の場合はそれを定義できることはわかっていますが、なんらかの方法はありません。 var setVariable = localStorage.getItem( 'value')|| 0; はるかに明確な方法のように思われ、私はこれを他の言語で見たことがあると確信しています。

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] …

9
PHPエラーメッセージ「通知:未定義の定数の使用」はどういう意味ですか?
PHPはこのエラーをログに書き込みます:「通知:未定義の定数の使用」。 ログのエラー: PHP Notice: Use of undefined constant department - assumed 'department' (line 5) PHP Notice: Use of undefined constant name - assumed 'name' (line 6) PHP Notice: Use of undefined constant email - assumed 'email' (line 7) PHP Notice: Use of undefined constant message - assumed 'message' (line 8) …
163 php  constants  undefined 

10
別のファイルで宣言されているgolangの「未定義」関数?
別のファイルの関数を呼び出す基本的なgoプログラムを作成しようとしていますが、同じパッケージの一部です。ただし、次を返します。 undefined: NewEmployee ここにソースコードがあります: main.go: package main func main() { emp := NewEmployee() } employee.go: package main type Employee struct { name string age int } func NewEmployee() *Employee { p := &Employee{} return p } func PrintEmployee (p *Employee) { return "Hello world!" }
135 go  undefined  func 

12
JavaScriptに「null」値があるのはなぜですか?
JavaScriptには、基本的に「私は存在しない」と言う2つの値があります- undefinedとnull。 プログラマが何も割り当てていないundefinedプロパティはになりますが、プロパティがになるためにはnull、null明示的に割り当てる必要があります。 は、プリミティブな値とオブジェクトであるnullため、必要があると思っていました。それは、もし降伏しても、そうではありません:実際には、両方ともプリミティブ値です-つまり、どちらでもありませんundefinednulltypeof null'object'undefinednull両方が空のオブジェクト(1はコンストラクタでPROCLAIM失敗にエラーをスローすることがある)に変換されるように、コンストラクタ関数から返すことができます。 また、どちらもfalseブールコンテキストで評価されます。私が考えることができる唯一の本当の違いは、一方がに評価されNaN、もう一方が0、数値コンテキストです。 それでは、なぜ両方がundefinedありnull、これがnull、プロパティが設定されているかどうかを調べようとするときに誤ってチェックしているプログラマを混乱させるだけなのでしょうか。 私が知りたいのは、誰かがそれを使用しnullて表現することができなかった使用する必要がある合理的な例があるかどうかですundefined代わりに。 したがって、一般的なコンセンサスは、undefined「そのような財産は存在しない」ことを意味するようです。null手段は「プロパティが存在していますが、何も値を保持していません」。 JavaScriptの実装が実際にこの動作を強制する場合は、私はそれに耐えることができますundefinedが、完全に有効なプリミティブ値なので、このコントラクトを破るために既存のプロパティに簡単に割り当てることができます。したがって、プロパティが存在するかどうかを確認する場合は、とにかくin演算子を使用する必要がありhasOwnProperty()ます。もう一度言いますと、undefinedとnullですか? 使用undefinedしなくなったが、使用したくないプロパティの値を設定解除したい場合は、実際に使用します。deleteます。null代わりに使用する必要がありますか?



2
JSLint:定義される前に使用されました
こんにちは、3つのJavaScriptファイルがあります。 jquery.js utility.js file1.js 私が持っているfile1.jsで jQuery.noConflict() jQuery(document).ready(function($) { // .... }); 定義される前に「jQuery」が使用されたというエラーが表示されます。そして、それが定義される前に「ドキュメント」が使用されました。 この警告を安全に取り除くにはどうすればよいですか。 私が行った場合 var document = document || {}; それから私のutility.jsで使用すると、IEではnullになり、firefoxではOKになります。 これに対する最善の解決策は何ですか?

8
CoffeeScript未定義
変数が作成されていないかどうかをチェックするJavaScriptでは、次のようにします if (typeof MyVariable !== "undefined"){ ... } 私はコーヒースクリプトでどうやってそれをするのだろうと思ったのですが…。 if (MyVariable?false){ ... } しかし、このチェックMyVariableは、関数である場合、MyVariable(false)を呼び出します。そうでない場合、void(0)またはそのようなものを呼び出します。

5
JSONにnull値を含める必要があります[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する 結果をJSONとして返すAPIを作成しています。値がnullの場合に結果にキーを含める必要があるかどうかの現在のベストプラクティスはありますか?例えば: { "title":"Foo Bar", "author":"Joe Blow", "isbn":null } または { "title":"Foo Bar", "author":"Joe Blow" } 2番目の方が小さいので、このスタイルに傾いていますが、優先されるスタイルがあるかどうかはわかりません。クライアントの観点からは、両方のスタイルが機能的に同等であるように思われます。それぞれの長所と短所はありますか?

8
未定義が上書きされないと仮定することは、JavaScriptで実際にどれほど危険ですか?
誰でもに対してテストを言及するたびにundefined、それは先の尖ったアウトですundefinedので、キーワードではありません、それはに設定することができ"hello"て、あなたが使用する必要があります typeof x == "undefined"代わりに。これは私にはばかげているようです。誰もそれをすることはありません、そしてもし彼らがそうするなら、彼らが書いたコードを決して使わないのに十分な理由でしょう...そうですか? 誤ってに設定した人の例を1つ見つけました。これは、上書きされないと想定しないようにする理由として挙げられました。しかし、もし彼らがそれをしていたら、バグは検出されなかったでしょう、そして私はそれがどのように良いのか見当がつかないのです。undefinednullundefined C ++では、誰もが言うことが合法であることをよく知っていますが#define true false、代わりにtrue使用しないようにアドバイスする人は誰もいません0 == 0。あなたは、誰もそれをするのに十分な大きさではないだろうと思い込んでいます。もしそうなら、彼らのコードを二度と信用しないでください。 これは、他の誰かがundefined(故意に)割り当てた場所で実際に誰かを噛み、コードを壊したことがありますか、それともこれは架空の脅威ですか?私は自分のコードをわずかに読みやすくするためにチャンスを利用したいと思っています。これは本当に悪い考えですか? 繰り返しになりますが、私は再割り当てされた未定義から保護する方法を求めていません。私はすでに100回書かれたそれらのトリックを見てきました。私はそれらのトリックを使わないことがどれほど危険かを尋ねています。

6
AngularJSの場合は未定義またはnull
時計処理関数を作成するときは、newValパラメータをオンundefinedとでチェックしますnull。AngularJSにそのような動作があるのに、特定のユーティリティメソッドがないのはなぜですか?ですangular.isUndefinedが、ありませんangular.isUndefinedOrNull。手作業でそれを実装するのは難しいことではありませんが、各コントローラーでその機能を持つために角度をどのように拡張しますか?Tnx。 編集: 例: $scope.$watch("model", function(newVal) { if (angular.isUndefined(newVal) || newVal == null) return; // do somethings with newVal } そのような方法で処理することは一般的に受け入れられている慣行ですか? 編集2: JSFiddleの例(http://jsfiddle.net/ubA9r/): <div ng-app="App"> <div ng-controller="MainCtrl"> <select ng-model="model" ng-options="m for m in models"> <option value="" class="ng-binding">Choose model</option> </select> {{model}} </div> </div> var app = angular.module("App", []); var MainCtrl = function($scope) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.