4. 值不允许修改
5. 块二级作用域
注意 : 对象属性修改和数组元素变化不会触发 `const` 错误**
应用 场景:声明对象类型使`const`,非对象类型声明选择 `let`**
## 变量值的结构
### 数组
js const arr = ['张学友','刘德华','郭富城','黎明'] let [zhang ,liu,guo,li] =arr
### 对象
//对象的简单解构
const lin = { name:'林志颖', tags:['车手','歌手','演员']};
let {name,tags} = lin
//对象的复杂结构
//想使用 对象中对象的某个属性
比如下例中的 songs 中的红豆
let wangfei = { name: '王菲', age: 18, songs: ['红豆', '流年', '传奇'], history: [ { name: '窦唯' }, { name: "李亚鹏" }, { name: '谢霆锋' } ]}
let { songs: [one, two, three], history: [first, second, third] } = wangfei
console.log(one, three, second);//==》红豆 传奇 {name: '李亚鹏'}
## 模板字符串
// 使用 “ 可${} 添加变量,可随意换行
“`js
cosnt str = '123456'
cosnt strs = `这里是&{str}`
console.log(strs)//=》这里是123456
//简化对象写法//允许在大括号里面直接写入变量和函数,作为对象的属性和方法
let name = '尚硅谷';
let slogon = '永远追求行业更高的标准';
let improve = function () { console.log('可以提高你的技能');}//属性和方法
原来的写法
let atguigu = { name:name, slogon:slogon, improve:improve, change() { console.log('可以改变你') }};
//================================================
let name = '尚硅谷';
let slogon = '永远追求行业更高的标准';
let improve = function () { console.log('可以提高你的技能');}
//属性和方法简写
let atguigu = { name, slogon, improve, change() { console.log('可以改变你') } };
“`
## 箭头函数
“`js()=>{}箭头函数的注意点:
1) 如果形参只有一个,则小括号可以省略 params=>{……..}
2) 函数体如果只有一条语句js箭头函数,则花括号可以省略js箭头函数,函数的返回值为该条语句的(p)=>{return p.nane} ==>p=>p.name执行结果
3) 箭头函数this 指向声明时所在作用域下 this 的值
4) 箭头函数不能作为构造函数实例化
5) 不能使用arguments*补充* arguments ====> 接受函数中所有的实参“`
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。