ES6和ES5变量声明的区别(var let const)

// es5的语法与es6的语法区别
// var let const

console.log(name);//undefine,不会报错,因为变量声明会提到作用域的最前面
var name="aa";

for(var i=1;i<7;i++){
    console.log(i);
}
console.log(i);//8,不会报错因为var声明的变量没有块级作用域
 /**
  * 总结 var 声明的变量,声明语句会提到作用域的最前面,并且没有块级作用域
  */

  console.log(age);//会报错
  let age=15;
  for(let j=1;j<7;j++){
    console.log(j);
}
console.log(j);//会报错
/**
 *总结:let声明的变量,声明语句不会提前,并且有块级作用域
 *
 */
const url="aaaa.com";//const声明的变量不能更改,也就是常量了
url="cc.com";//会报错

原文地址:https://www.cnblogs.com/yangxiaohui227/p/10658178.html

时间: 2024-10-11 01:32:49

ES6和ES5变量声明的区别(var let const)的相关文章

2-新的变量声明方式(var ,let,const)

以前我们在声明时只有一种方法,就是使用var来进行声明,ES6对声明的进行了扩展,现在可以有三种声明方式了. 字面理解ES6的三种声明方式: var:它是variable的简写,可以理解成变量的意思. let:它在英文中是“让”的意思,也可以理解为一种声明的意思. const:它在英文中也是常量的意思,在ES6也是用来声明常量的,常量你可以简单理解为不变的量 --var声明---- var在ES6里是用来升级全局变量的,我们可以先作一个最简单的实例,用var声明一个变量a,然后用console.

ES6的强大变量声明

ES6是javascript的新特性,今天来说说声明变量 过去我们声明变量,都是一个一个声明,现在有了一种新的声明方式,它可以将一个多个变量同时声明,声明后变量同时存在一个集合中,集合的数据类型是对象(object).使用这种声明方式,可以使我们书写程序的过程中思路更加清晰,可以将同一事件下的所有变量集合起来,可以将相同意义的变量集合起来. 这样的变量声明方式叫做“模式匹配” 之所以叫做模式匹配,是因为等号两边的模式是一样的 var a = 1; var b = 2; var c = 3; 这是

ES6的变量声明

在ES5中,变量声明只有var和function以及隐式声明三种,在ES6中则增加了let,const,import和class四种,以下来介绍着七种变量的声明. var ES5中最原始的变量声明,用于声明变量,其实JavaScript是弱类型语言,对数据类型变量要求不太严格,所以不必声明每一个变量的类型(这就是下面说的隐式声明,当然这并不是一个好习惯),在使用变量之前先进行声明是一种好的习惯. 1.作用域 使用var声明的变量的作用域是函数作用域(在ES5时代,只有函数作用域和全局作用域两种作

TypeScript 变量声明

ES6 中,变量声明一共有6种,分别是var.function .let.const.class和import. let 基本语法:let 变量名 :类型.其中类型不是必须的. 1.用于声明变量,其用法似于var. let name = 'Sunny' 2.所有声明的 let 变量仅在let命令所在的代码块(块级作用域)内有效. function f(input: boolean) { let a = 100; if(input) { let b = a + 1; // 运行正确 return

第四章 变量声明

变量声明 一.let 和 const let 和 const 是 JavaScript 里相对较新的变量声明方式. let 在很多方面与 var 是相似的,但是可以帮助大家避免在 JavaScript 里常见一些问题(如作用域提升). const 是对 let 的一个增强,它能阻止对一个变量再次赋值. 因为 TypeScript 是 JavaScript 的超集,所以它本身就支持 let 和 const. 推荐使用它们来代替 var. 使用最小特权原则,所有变量除了你计划去修改的都应该使用 co

javascript 变量声明有var与无var 的区别

1.在函数作用域内 加var定义的变量是局部变量,不加var定义的就成了全局变量.使用var定义var a = 'hello World';function bb(){var a = 'hello Bill';console.log(a); }bb() // 'hello Bill'console.log(a); // 'hello world' 不使用var定义var e = 'hello world';function cc(){e = 'hello Bill';console.log(e)

JavaScript中变量声明有var和没var的区别

本文来论述JavaScript中变量声明有var和没var的区别,关于Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (function(){ ... })(): 在函数内部,有var和没var声明的变量是不一样的.有var声明的是局部变量,没var的,声明的全局变量. 在全局作用域内声明变量时,有var 和没var看起来都一样,我们知道,声明的全局变量,就是window的属性,究竟是否一样,我们通过ECMAScrpit5提供的属性的特性查询方法,来发现之间的区

ES6变量声明 ------ let and const

在ES5中,声明变量的方式只有一种, 那就是var, 如var mes ="hello", 但是用var声明变量有一个比较奇怪的地方,就是变量声明的提升,比如在函数中,无论我们声明变量的代码写在什么地方,它都是在函数顶部声明变量,在全局作用域下,则是在script标签顶部声明变量,这就有点郁闷了,因为按照我们正常的思维方式,我们代码是一行一行写的,只有用到某个变量的时候,才进行声明变量,并且声明变量后,只有它后面的代码才可以用,现在成了,我们在后面声明变量,在前面也可以用了,这不符合我

ES6学习笔记之变量声明let,const

最近用淘宝的weex做了个项目,最近稍微闲下来了.正好很久没有接触RN了,所以趁这个机会系统的学习一下ES6的相关知识. 孔子说:没有对比就没有伤害.所以我们要拿ES6和ES5好好对比的学习.这样才能明白es6是多少的好,积极的拥抱她! 1.let 用let声明的变量,只会在let命令所在的代码块内有效. let的块状作用域 我们来看一个简单的例子: 'use strict'; { let name = 'cloud'; var age = 21; } name;//ReferenceError