学习ES6 The Dope Way第一部分:const,let&var

发布时间:2018-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了学习ES6 The Dope Way第一部分:const,let&var脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

首先,constletVAR的处理是什么

您可能已成为这些情况之一的见证 -  和/或const替换为var或者让letconst同时在同一代码中使用,或者更令人困惑const AND var都是曾经使用过!?

嘿,不用担心,我找到了你。让我们一起清除这种迷雾:

常量

优点:

  • 如果您要设置一个您不打算更改的变量,则非常有用。
  • 保护并止您的变量重新分配。
  • 在编译语言中,代码的运行时效率有所提高,因此与使用普通的'ol var相比,整体性能提升

谨防:

  • 在Chrome和Firefox中正常运行。但不是在Safari中。相反,它充当普通变量,就像它是var一样,因此可以重新分配。
  • 通常有一个编程约定来设置所有大写的名称,以显示其他人读取你的代码,不应该改变const值的值 - 你将见证小写和大写const编码情况。只是需要注意的事情。

例子:

那有意义吗?

想想const,就像恒定的海洋 -  永无止境,永不改变......
......除了在Safari中。

来自Ruby或Python背景的学生和经验丰富的程序员会喜欢让它,因为它强制执行块范围!

当您迁移到ES6国家时,您可能会注意到自己正在适应新的let变态接管您的编码风格,并发现自己不太可能再使用var了。现在让它变得更加清晰,你的价值观来自哪里,而不必担心它们被悬挂!

优点:

  • Block-scoping,您的变量值与当前范围内的值完全相同,并且不会像var一样被提升。
  • 如果您不希望覆盖您的值(例如for循环),则非常有用。

谨防:

  • 您可能并不总是想要使用let。例如,在变量不像块作用域那样容易的情况下,var可能更方便。

例子:

// When using var what do we get?
var bunny = "eat carrot";

if(bunny) {
  var bunny = "eat twig";
  console.LOG(bunny) //  "eat twig"
}

console.log(bunny)// "eat twig"

// When using let what do we get?
let bunny = "eat carrot";

if(bunny) {
  let bunny = "eat twig";
  console.log(bunny) // "eat twig"
}

console.log(bunny)// "eat carrot"

你看得到差别吗?这都是关于范围的。使用var,它可以访问它的父/外部范围,因此可以更改if语句中的值。不同于let是块范围的,只能在当前范围内进行更改。

让我超级直截了当。这就像一个直接说话的人,然后告诉你他们当时和那里他们需要什么,而var也是如此,但偶尔会回复意外的答案 - 由于提升和访问外部范围变量。视情况而定,任何一方都可能对您有利。

关于let的好处的另一个很好的例子:

假设您想要创建一个30 div的游戏板,每个游戏都有自己的价值。如果你用var做这个,那么每次迭代都会覆盖i索引 - 每个div的值都是30!哎呀!

另一方面,使用let,每个div都有自己的值,因为每次迭代都会保留自己的div范围!看到不同:

// wITh var. See example live: https://jsfiddle.net/maasha/gsewf5av/
for(var i= 0; i<30; i++){
  var div = document.createElement('div');
  div.onclick = function() {
    alert("you clicked on a box " + i);
   };
   document.getelementsbytagname('section')[0].apPEndChild(div);
}

// with let. See example live: https://jsfiddle.net/maasha/xwrq8d5j/
for(let i=0; i<30; i++) {
  var div=document.createElement(‘div’);
  div.onclick = function() {
    alert("you clicked on a box " + i);
   };
   document.getElementsByTagName('section')[0].appendChild(div);
}

恭喜!你已经通过学习ES6 The Dope Way Part I来实现它,现在你知道了const,let和var之间的主要区别!哇噢!你摇滚明星,你:)

觉得可用,就经常来吧!es6教程 脚本宝典 欢迎评论哦!巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的学习ES6 The Dope Way第一部分:const,let&var全部内容,希望文章能够帮你解决学习ES6 The Dope Way第一部分:const,let&var所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。