const命令
发布于2018-04-19 14:45:03
1. 基本语法
const 声明一个只读的常量。一旦声明,常量的值不能改变。
const PI =3.14159; PI // 3.14159; PI = 3 ; //Assignment to constant variable.
const声明的常量不得改变值,意味着const 一旦声明常量,就必须立即初始化,不能保留到以后赋值。
const的作用域和let命令相同:只在声明所在的块级作用域内有效。
const命令的常量也不会提升,同样存在暂时性死区,只能在声明后使用。
2.本质
const实际上保证的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。 对于减少简单类型的数据(数值,字符串,布尔值)而言,值就是保存在变量指向的内存的地址中,因此等同于常量。单对于复合型数据(主要是对象和数组)而言,变量执行的内存地址保存的只是一个指针,const只能保证这个指针是固定的,至于他指向的数据结构是不是可变的,这安全不能控制。
// 为foo添加一个属性 可以成功 const foo = {}; foo.prop =123; //123 //将foo指向另一个对象,就会报错 foo={}; //'foo is read-only'
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true"> <use xlink:href="#csdnc-thumbsup"></use> </svg><span class="name">点赞</span> <span class="count"></span> </a></li> <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true"> <use xlink:href="#icon-csdnc-Collection-G"></use> </svg><span class="name">收藏</span></a></li> <li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{"mod":"1582594662_002"}"><svg class="icon" aria-hidden="true"> <use xlink:href="#icon-csdnc-fenxiang"></use> </svg>分享</a></li> <!--打赏开始--> <!--打赏结束--> <li class="tool-item tool-more"> <a> <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg> </a> <ul class="more-box"> <li class="item"><a class="article-report">文章举报</a></li> </ul> </li> </ul> </div> </div> <div class="person-messagebox"> <div class="left-message"><a href="https://blog.csdn.net/weixin_41470109"> <img src="https://profile.csdnimg.cn/9/1/D/3_weixin_41470109" class="avatar_pic" username="weixin_41470109"> <img src="https://g.csdnimg.cn/static/user-reg-year/2x/2.png" class="user-years"> </a></div> <div class="middle-message"> <div class="title"><span class="tit"><a href="https://blog.csdn.net/weixin_41470109" data-report-click="{"mod":"popu_379"}" target="_blank">web前端小小帅</a></span> </div> <div class="text"><span>发布了40 篇原创文章</span> · <span>获赞 1</span> · <span>访问量 4663</span></div> </div> <div class="right-message"> <a href="https://im.csdn.net/im/main.html?userName=weixin_41470109" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信 </a> <a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379"}">关注</a> </div> </div> </div> </article>