[软件设计/软件工程] for hellip;of 循环中变量的默认类型?

[复制链接]
发表于 2022-5-5 09:06:34
问题
for..of 循环中变量的默认类型是什么。
  1. for (value of [1,2,3]) // what is the default type of value
  2.   console.log(value)
复制代码


我想知道 value 是否属于 var/let/const 类型。

据我所知,任何未声明的变量都是 var 类型。它适用于循环变量吗?

回答
没有默认值,尽管我想您可以将松散模式下隐式全局变量的恐怖称为默认值。 :-) 不要依赖隐式全局变量的可怕之处,它实际上是语言中的一个错误,由严格模式修复。 :-)

如果您以现有方式编写代码,则必须在循环之前声明变量。如果在松散模式下没有隐式创建全局变量;在严格模式下(我总是推荐)这是一个错误。如果变量是在循环之前声明的,那么 let 或 var (但不是 const )都可以工作。

如果您在循环中声明变量,则可以使用 let 或 const ,具体取决于您是否要更新循环中的变量(以及您喜欢的样式):
  1. const values = ["one", "two", "three"];

  2. for (const value of values) {
  3.     console.log(value);
  4. }

  5. for (let value of values) {
  6.     console.log(value);
  7. }

  8. for (let value of values) {
  9.     // (Note the following only changes the value of the variable, not the entry in the array)
  10.     value = value.toUpperCase(); // You couldn't do thsi with `const`
  11.     console.log(value);
  12. }
复制代码






上一篇:thingsboard 使用 MQTT 连接到 esp32
下一篇:插入 MySQL 表或更新(如果存在)

使用道具 举报

Archiver|手机版|小黑屋|吾爱开源 |网站地图

Copyright 2011 - 2012 Lnqq.NET.All Rights Reserved( ICP备案粤ICP备14042591号-1粤ICP14042591号 )

关于本站 - 版权申明 - 侵删联系 - Ln Studio! - 广告联系

本站资源来自互联网,仅供用户测试使用,相关版权归原作者所有

快速回复 返回顶部 返回列表