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

30
「let」と「var」の違いは何ですか?
ECMAScript 6 はletステートメントを導入しました。 「ローカル」変数として記述されていると聞きましたが、varキーワードとどのように異なる動作をするのかはまだよくわかりません。 違いは何ですか?いつlet使用すべきvarですか?


5
ES6では、変数がletまたはconstで宣言されていませんか?
OverаэтотвопросестьответынаStack Overflowнарусском:Всплываютлиперемененее、объявленныеспомоststвletиcon ES6をしばらく使用していて、で宣言された変数がvar期待どおりに巻き上げられていることに気付きました... console.log(typeof name); // undefined var name = "John"; ...で宣言された変数、letまたはconst巻き上げに問題があると思われる変数: console.log(typeof name); // ReferenceError let name = "John"; そして console.log(typeof name); // ReferenceError const name = "John"; これは、宣言された変数letまたはconstホイストされていない変数を意味しますか?ここで本当に何が起こっているのですか?間に何らかの差があるletと、constこの問題では?

3
一時的なデッドゾーンとは何ですか?
初期化される前に値にアクセスするletと、一時的なデッドゾーンと呼ばれるものconstが原因で発生する可能性があると聞きました。ReferenceError 一時的なデッドゾーンとは何ですか、それはスコープと巻き上げにどのように関係し、どのような状況で発生しますか?

5
Haskell:Let vs. Let
私はHaskellを初めて使用するので、Where対Letで非常に混乱しています。どちらも同じような目的を提供しているようです。WhereとLetの比較をいくつか読んだことがありますが、それぞれをいつ使用するかを見分けるのに問題があります。誰かがコンテキストを提供したり、場合によってはどちらを使用するかを示すいくつかの例を提供してもらえますか? どこでvs. Let where句は、関数定義のレベルで定義することができます。通常、これはlet定義の範囲と同じです。唯一の違いは、ガードが使用されている場合です。where条項の範囲はすべてのガードに及びます。対照的に、let式のスコープは、現在の関数句とガード(存在する場合)のみです。 Haskellチートシート Haskellのウィキは非常に詳細であり、様々な例を提供していますが、仮想的な例を使用しています。初心者には説明が短すぎます。 Letの利点: f :: State s a f = State $ \x -> y where y = ... x ... Control.Monad.State whereはパターンマッチングf =を参照するため、機能しません。xはスコープ内にありません。対照的に、letから始めていれば、問題はありません。 Letの利点に関するHaskell Wiki f :: State s a f = State $ \x -> let y = ... x ... in y 場所の利点: …
117 haskell  keyword  where  let 

4
Common Lispのローカル状態
Common Lispの初心者の質問: 呼び出すたびに独自のローカルバインディングを持つ個別の手続き型オブジェクトを返すようにプロシージャを作成するにはどうすればよいですか?現在、letを使用してローカルステートを作成していますが、2つの関数呼び出しが同じローカルステートを共有しています。これがコードです (defun make-acc () (let ((balance 100)) (defun withdraw (amount) (setf balance (- balance amount)) (print balance)) (defun deposit (amount) (setf balance (+ balance amount)) (print balance)) (lambda (m) (cond ((equal m 'withdraw) (lambda (x) (withdraw x))) ((equal m 'deposit) (lambda (x) (deposit x))))))) ;; test (setf peter-acc …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.