問題タブ [variable-declaration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ラムダクロージャまたはクラスレベル変数?
ベストプラクティスとは何かについての一般的な質問:
x
ラムダ イベント ハンドラ内で変数を使用していることに注意してください。
また:
ここでx
は、クラスのプライベート メンバーであるため、イベント ハンドラーでアクセスできます。
x
ここで、(何らかの理由で) コードの他の場所は必要ないとしましょう。どの方法がより良い方法でしょうか?
python - Pythonで値を割り当てずに変数を宣言することだけは可能ですか?
次のように Python で変数を宣言することは可能ですか?:
Noneに初期化されるように?Pythonはこれを許可しているようですが、アクセスするとすぐにクラッシュします。これは可能ですか?そうでない場合、なぜですか?
編集:次のような場合にこれを行いたい:
複製
- Pythonの初期化されていない値(同じ作者による)
- Python に宣言キーワードはありますか? (同じ作者による)
関連している
c - 配列へのCポインター/ポインターの配列の曖昧性解消
次の宣言の違いは何ですか。
より複雑な宣言を理解するための一般的なルールは何ですか?
c++ - for ループ初期化子で 2 つの異なる型の変数を定義する方法はありますか?
for ループで同じ型の 2 つの変数を定義できます。
しかし、異なる型の変数を定義することは違法です:
これを行う方法はありますか?i
(ループ内で使用する必要はありません。ただj
.)
あなたが完全にハッキングされたあいまいな解決策を持っているなら、それは私にとっては問題ありません.
この不自然な例ではdouble
、両方の変数に使用できることがわかっています。私は一般的な答えを探しています。
変数のいずれかを for 本体の外に移動することは提案しないでください。ループの直後に消えなければならない反復子であり、for ステートメントをforeach
マクロに含める必要があるため、おそらく私には使用できません。
次のように使用できます。
しかし、私はそのように使用されるものが必要です:
ランタイム オーバーヘッドが発生しないようにしてください (ただし、コンパイルが遅くなる可能性があります)。
c++ - ループ内で変数を宣言するオーバーヘッドはありますか? (C++)
次のようなことをした場合、速度や効率が低下するかどうか疑問に思っています。
int var
100回を宣言します。あるように思えますが、よくわかりません。代わりにこれを行う方がより実用的/高速でしょうか:
それとも、速度と効率の点で同じですか?
javascript - JavaScript 変数の設定を解除するにはどうすればよいですか?
JavaScript にグローバル変数 (実際にはwindow
プロパティですが、重要ではないと思います) があり、以前のスクリプトによって既に入力されていますが、後で実行される別のスクリプトでその値を確認したり、さえ定義されています。
私は入れsome_var = undefined
て、テストの目的で動作しますtypeof some_var == "undefined"
が、それが正しい方法だとは本当に思いません。
どう思いますか?
javascript - ここでの可変デラレーションの違いは何ですか?
プロジェクトのメンテナンスとコードの読み取りを行ってい
ます。変数の宣言には 2 つの方法があります。1 行目と 2 行目の違いを説明できる人はいますか?
私にとって、javascript では、var
キーワードはオプションであると読んでいます。最初の行では、2 つの新しい変数を宣言して初期化しています。2 行目では、2 つの新しい変数を宣言していますが、初期化していません。私はこれから何かをもっと取る必要がありますか?
c# - 読み取り専用変数宣言の順序は、値が設定される順序を保証しますか?
ファイルパスにいくつかの読み取り専用変数があるとしたら、宣言の順序に基づいて値が割り当てられる順序を保証できますか?
例えば
これは安全なアプローチですか、それともbasepath
当時の文字列のデフォルト値のままで、文字列をsubpath1
参照subpath2
する可能性はありますか?
宣言時ではなくコンストラクターで値を割り当てることで、おそらく順序を保証できることに気づきました。ただし、静的クラス内で変数を宣言する必要がある場合 (たとえば、コンストラクターの代わりに static void Main() プロシージャを持つコンソール アプリケーションの Program.cs)、このアプローチは不可能だと思います。
アップデート:
static キーワードを追加しました (これが私が使用しているものであり、コンパイルする理由です) と、提案されている Path.Combine も追加しました。
vb.net - VB.Net 変数宣言
これらの両方がオンになってOption Strict
いても、コンパイラの警告やエラーなしでコンパイルされることに気付きました。Option Explicit
私の質問は、最初の方法 (変数 x を参照) または 2 番目の方法 (変数 y を参照) を使用する方が適切ですか? As
私の推測では、変数がその場で初期化されているため、VB は句を必要としないため、コンパイラは型を推測できます。
C#
私は最初の方法を好む傾向があります。なぜなら、それは単に「正しいと感じ」、他の言語のような他の言語とより一貫しているからです。それは本当に個人的な選択だと思います。
c - オープンソースプロジェクトでのC99混合宣言とコード?
LinuxカーネルやGNOMEなどのオープンソースCプロジェクトでC99混合宣言とコードがまだ使用されていないのはなぜですか?
宣言とコードが混在しているのが本当に好きです。コードが読みやすくなり、変数のスコープを可能な限り狭く制限することで、見づらいバグを防ぐことができるからです。これは、Google forC++によって推奨されています。
たとえば、Linuxには少なくともGCC 3.2が必要であり、GCC3.1はC99混合宣言とコードをサポートしています。