var、let、const の違いは、var の変数はコードが実行される前に宣言され、作業スコープは現在の実行のコンテキスト内にあることです。let は変数の作成を許可しますが、そのブロック内でのみ動作します。 const と let の類似点は何ですか 唯一の違いは、const で定義された変数は変更できないことです
この記事では主に var、let、const の違いを JavaScript (ES6) での変数の作成方法を通して紹介します。 、一定の参考効果があるので参考になれば幸いです。
#【おすすめコース: JavaScript チュートリアル #】
var VS let
var と let の主な違いは、関数スコープの使用ではなく、ブロック スコープの使用です。これは、let キーワードを使用して作成された変数は、その変数が作成された「ブロック」内だけでなく、ネストされたブロック内でも使用できることを意味します。例
function discountPrices (prices, discount) { var a = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 a.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return a }
function discountPrices (prices, discount) { let a = [] for (let i = 0; i < prices.length; i++) { let discountedPrice = prices[i] * (1 - discount) let finalPrice = Math.round(discountedPrice * 100) / 100 a.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return a } discountPrices([100, 200, 300], .5) // 这儿会报错i未定义
例:
function discountPrices (prices, discount) { console.log(discounted) // undefined var a = [] for (var i = 0; i < prices.length; i++) { var discountedPrice = prices[i] * (1 - discount) var finalPrice = Math.round(discountedPrice * 100) / 100 a.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return a}
function discountPrices (prices, discount) { console.log(discounted) // 错误 let a = [] for (let i = 0; i < prices.length; i++) { let discountedPrice = prices[i] * (1 - discount) let finalPrice = Math.round(discountedPrice * 100) / 100 a.push(finalPrice) } console.log(i) // 3 console.log(discountedPrice) // 150 console.log(finalPrice) // 150 return a}
結論は次のとおりです#var : 変数宣言はコードが実行される前に処理され、そのスコープは現在の実行コンテキスト内にあります。
let: let ステートメントを使用すると、スコープがブロックに制限された変数を作成できます。
let VS constvar と let の違いは理解できたところで、const はどうなるのでしょうか? const はほぼ同じであることがわかります。 let. しかし、唯一の違いは、 const を使用して変数に値が割り当てられると、新しい値に再割り当てすることはできないということです。
let name = 'Tyler' const handle = 'tylermcginnis' name = 'Tyler McGinnis' //正确 handle = '@tylermcginnis' //错误
上記から、let で宣言された変数は再割り当てできることがわかります。 , しかし、const で宣言された変数はできません。したがって、変数を不変にしたい場合は、const で宣言できます。ただし、変数を const で宣言しても、それが不変であることを意味するわけではありません。たとえば、再割り当てできないだけです。 :
const person = { name: 'Kim Kardashian' } person.name = 'Kim Kardashian West' // 正确 person = {} // 错误
したがって、const を使用する場合でも、オブジェクトを宣言しても、そのプロパティを変更できないという意味ではなく、新しい値に再割り当てできないことを意味するだけです。
概要:以上がこの記事の全内容です。皆様のお役に立てれば幸いです。
以上がJavaScriptのvar、let、constの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。