强烈推荐  阮一峰写的《ECMAScript6入门》

let和const命令

let命令:

  let用于声明变量,用法和var相似,但是不完全相同,有以下几点区别

  ① let命令只在当前作用域中有效;

  ② let不会发生‘变量提升’的现象,变量一定要声明后在使用他,否则会报错。

    问题:ES6支持ES5 但是如果发生以下情况也会报错

1 var demo = 13;
2 if(true){
3   demo = "abc";    //这里也会报错
4   let demo;
5 }

    原因:只要在块级作用域内存在 let ,const 命令就会形成一个‘暂时性死区’ ,即使全局中声明了该变量也会报错

    连带结果:typeof 不是很管用啦!

if(true){typeof x;     //报错
  let x;typeof y;      //undefined
}

  ③ let 不允许在相同作用域内重复声明

  ④ 块级作用域:

    ES5:只存在全局作用域和函数作用域

    ES6: 添加了块级作用域,而且还允许其嵌套使用,也可以直接使用  {块级作用域执行内容... //和立即执行函数功能一样 } 还允许在块级作用域内声明函数是不是方便的

  ⑤ 虽然let声明的变量不会被提升,但是函数的声明还是会被提升的!

const命令:

  ①添加的常量的声明命令-------声明后为只读属性不允许改变

  ②其他特点和let一样,不会提升,会形成暂时性死区,

变量的‘解构赋值’

  解构赋值:ES6允许按照一定的模式,从数组和对象中提取值,然后对变量进行赋值。

let [a,b,c] = [1,2,3] // 如果是ES5的话只能一个个的声明变量并赋值啦!

  解构赋值的本质应该就是一种匹配模式,只要等号两边的模式相同就可以进行赋值啦!如果匹配不到 就会返回undefined给变量

let [a, b, ...c] = ["a"]a   // "a"
b   // undefined
c   // []   返回空数组是  ‘...’  的功劳哦

  还有“不完全解构”    也就是值多于变量

let [a, [b], c] = [1,[2 , 3], 4]
a  // 1
b  //2     [2,3]没有完全解构
c  //4

转载于:https://www.cnblogs.com/web-Rain/p/6047114.html

我的ES6学习之路(一)相关推荐

  1. Damon的es6学习之路 -- 循环的学习(day 2)

    先总结下es6常用的几种循环: forEach,map,filter,some,every,indexOf,lastIndexOf,reduce,reduceRight 其中,粗体标记的是我目前认为会 ...

  2. typescript学习之路(三) —— ts定义类的方法(包含es5以及es6的定义类)

    提起类,不得不说一下,强类型编程语言,如php,java,c++等都有类的概念.而js作为一门弱类型语言,是没有类这个概念的,虽然也能模拟类的实现,但总归不是类.so,ts也只是模拟类而已,使得更贴切 ...

  3. typescript学习之路(四) —— ts类的继承(包含es5以及es6的类继承)

    上一文已经写了es5,es6等类的定义,所以本章主要写es5和es6的继承,由于es6的继承和ts的继承如出一辙,只是加了类型定义而已,所以ts的继承稍微写下,不会太详细. 文章目录 es5继承 原型 ...

  4. webpack学习之路

    webpack学习之路 当自己在学习webpack的时候,在网上发现中文的很详细的教程很少,于是便想将自己学习webpack的笔记记录整理下来,便有了这篇文章,希望对大家有所帮助,如果有错误,欢迎大家 ...

  5. 一个普通本科在校生的前端学习之路

    原创 西安前端交流会: 卡农 ovenzeze@qq.com 本文章同步发表在wdShare西安前端交流会网站.我的个人博客以及segmentFault和掘金. 转载请注明出处 这是西安初级前端群里边 ...

  6. TypeScript入门学习之路

    TypeScript学习之路 TypeScript学习之路 安装typescript环境 typescript起步 typescript开发工具vscode自动编译.ts文件 typescript中的 ...

  7. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

  8. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  9. 前端Vue学习之路(一)-初识Vue

    Vue学习之路 (一) 1.引言 2.更换npm国内镜像源 3.用npm下载Vue 4.Vue全家桶 5.使用命令创建项目 5.推荐插件 6.推荐网站 7.学习扩展 1.引言 先安装node.js环境 ...

  10. 学习之路-现代密码学基础-001

    学习之路-现代密码学基础-第一章密码学概论 转载于:https://www.cnblogs.com/vegetables-Adanos/p/5371420.html

最新文章

  1. 什么是深度智能:2021年深度智能的发展趋势
  2. 汉诺塔递归与非递归算法
  3. Elasticsearch - cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)]
  4. android bitmap保存本地图片,Android保存View转Bitmap并到本地图库实时更新
  5. python fact函数_第5天:Python 函数
  6. 不花钱就补足营养的8妙招
  7. Airflow 中文文档:初始化数据库后端
  8. 来自 Dropbox 的可扩展性设计经验
  9. matlab打乱矩阵行,matlab 中,怎么让一个矩阵按某一列排列,并且行也跟着变动?...
  10. read一个收到RST的socket会返回0?
  11. Kubernetes 是什么?为什么也称为 K8S?| 科普
  12. html h3标签,网站h1,h2,h3标签的用法和技巧
  13. 学习记录-FDD大规模MIMO系统的稀疏信道估计技术研究
  14. Excel通过图片名插入图片
  15. 如何有效去除博客上的广告
  16. 如何看待社会的阴暗面
  17. 一些关于罗马字符的知识
  18. 如何高效进行无人机动力测试-电池效率
  19. 临沂办理高新技术企业需要什么文件及材料
  20. MLOps介绍:机器学习技术债

热门文章

  1. python+selenium 自动化测试环境搭建
  2. eMMC的MMC模式与SPI模式
  3. Android核心模块内容概述
  4. css工程师技巧,web前端工程师必须掌握的技巧–CSS Sprites技术(附基础操作教程)...
  5. dll模块化设计与编程_PLC模块、结构化编程到底强在哪里?
  6. 打开的文件过多问题排查思路及解决过程
  7. 外层div自动撑大为什么没有最大_在工业自动化行业,为什么电阻触摸屏更受欢迎...
  8. 3.4选择性嵌入服务容器
  9. 网站安全之存储型跨站脚本编制
  10. 【渝粤教育】国家开放大学2018年秋季 0550-22T素描(一) 参考试题