ES6 --------- const

gxlself 2018-04-02 原文

ES6 ——— const

对于es6使用的也挺频繁,但是有些东西真的使用得注意:

const使用注意:

  1. 声明的变量不能再被声明,或者改变值类型,否则将会报错.报错的信息分别是:

  • TypeError: invalid assignment to const "x" (Firefox)
  • TypeError: Assignment to constant variable. (Chrome)
  • TypeError: Redeclaration of const 'x' (IE/Edge)

  eg: 

const a = 2;
a = 3;
// 将会报上述类型错误(具体和李玉兰器有关)
const a = 3;
// Uncaught SyntaxError: Identifier 'c' has already been declared
// 重新声明也会报错,提示你c已经被声明

  2. const声明的引用类型,虽然变量不可变,但是对象内部却可以被影响,这一点如果不注意,在开发中就会很尴尬~

const a = {
  name : 'Mike'
}
a.name = 'Tom'
// 此时a的属性name的值已经改变
console.log(a)
//{name: "Tom"}

同理:数组也是

const a = [1,2,3]
a.shift()
console.log(a)
// [2,3]

  3. const也存在块级作用域,作用域内声明的变量可以与全局变量同名

const a = 5;
   console.log(a)
   function test(){
        const a = 3
        console.log(a)
   }
   test()

   {
       const a = 4;
       console.log(a)
   }

分别输出: 5 3 4

  总结:

    const声明的变量是唯一的(同一作用域),它声明的值类型不可变,引用类型却可以改变…

发表于 2018-04-02 00:01 gxlself 阅读() 评论() 编辑 收藏

 

版权声明:本文为gxlself原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gxlself/p/8689224.html

ES6 --------- const的更多相关文章

  1. 有些ES6方法极简,但是性能不够好

    有些ES6方法极简,但是性能不够好 So,也许你觉得ES6让你视野大开,但是并不是性能也能跟得上~ 首先,让我 […]...

  2. JS面向对象与面向过程

    JS面向对象与面向过程 前言 面向对象编程:   就是将你的需求抽象成一个对象,然后针对这个对象分析其特征(属 […]...

  3. html+css+js 实现一个网页小demo

    js 从一个1.html跳转到另一个2.html页面并携带一定的数据 最近开始涉及js的学习,由于之前有一些h […]...

  4. 原型笔记

    原型笔记 1. Object.getOwnPropertyNames()   在学习使用该方法的时候,查阅了《 […]...

随机推荐

  1. UART(串口)

    UART(串口) (1)串行通信线路三种工作方式:单工通信、半双工通信、全双工通信 单工:单工就是指A只能发信 […]...

  2. windows10下基于vs2015的 caffe安装教程及python接口实现 – 善良的大猪猪

    windows10下基于vs2015的 caffe安装教程及python接口实现 啦啦啦:根据网上的教程前一天 […]...

  3. 如何用手机远程控制自己的电脑

    TeamViewer可以解决这个问题。   需要在手机端和电脑端各下载TeamViewer软件,只需要3分钟就 […]...

  4. 警告: A docBase ** inside the host appBase has been specified, and will be ignored

    错误:警告: A docBase D:\apache-tomcat-6.0.35\webapps\16S in […]...

  5. 用python和karrigell做网站.第一篇

    从今天起,和大家一起学习用python/karrigell做网站. 对于能搜到这篇文章的兄弟,一定是对karr […]...

  6. 用Chrome在电脑上模拟微信浏览器

    1、先了解安卓微信和Ios微信的UA(User agent:用户代理) 安卓微信UA: mozilla/5.0 […]...

  7. hashCode和equals的区别

    关注公众号,大家可以在公众号后台回复“博客园”,免费获得作者 Java 知识体系/面试必看资料。 有面试官会问 […]...

  8. FTP,FTPS,FTPS与防火墙

    昨天搭建了一台FTPS服务器,过程中学习了很多不清楚的知识点,还有遇到的问题,记录一下。 (大部分内容汇集、整 […]...

展开目录

目录导航