4. 值不允许修改

5. 块二级作用域

注意 : 对象属性修改和数组元素变化不会触发 `const` 错误**

应用 场景:声明对象类型使`const`,非对象类型声明选择 `let`**

## 变量值的结构

js箭头函数_js函数里面包含函数_js箭头函数中的this

### 数组

js const arr = ['张学友','刘德华','郭富城','黎明'] let [zhang ,liu,guo,li] =arr

### 对象

js函数里面包含函数_js箭头函数_js箭头函数中的this

//对象的简单解构

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