ES6 let const 变量的解构赋值 模板字符串 简化对象写法 箭头函数 rest spread

编程入门 行业动态 更新时间:2024-10-23 12:35:46

ES6 let const  变量的解构<a href=https://www.elefans.com/category/jswz/34/1769111.html style=赋值 模板字符串 简化对象写法 箭头函数 rest spread"/>

ES6 let const 变量的解构赋值 模板字符串 简化对象写法 箭头函数 rest spread

关键字

let 关键字

1.变量不能重复声明
let star = ‘罗志祥’;
let star = ‘小猪’;
2. 块级作用域 全局 函数 eval

{
let girl = ‘tom’;
}
3. 不存在变量提升
console.log(song);
let song = ‘你好’
4. 不影响作用域链

{let school = '大学';function fn() {console.log(school);}fn();}

let 实例
在 每一次的for 循环中 let 绑定一个 事件 春块级作用域

 let items = document.getElementsByClassName('item');//遍历并绑定事件for (let i = 0; i < items.length; i++) {items[i].onclick = function() {items[i].style.background = 'pink'}}

const 关键字

1 一定要赋初始值
2 一般常量使用大写
3. 常量的值不能修改

4 块级作用域5 . 对于数组和对象的元素修改,不算做对常量的修改 不会报错
const TEAM = ['uzi', 'mlxg'];TEAM.push('daye')console.log(TEAM);

变量的解构赋值

ES6 允许按照一定模式从数组和对象中提取值, 对变量进行赋值。
频繁的使用对象方法 数组元素 就可以使用解构赋值形式
这被称为解构赋值
数组的解构

const F4 = ['小沈阳', '刘能', '赵四', '宋小宝'];let [xiao, liu, zhao, song] = F4console.log(xiao);console.log(liu);console.log(zhao);console.log(song);

对象的解构

        const tom = {name: 'tom',age: 18,xiaopin: function() {console.log('你好');}};let {name,age,xiaopin} = tom;console.log(name);console.log(age);console.log(xiaopin);

模板字符串

ES6 引入新的声明字符串的方式 ``
1 声明
let str = 我也是一个字符串;
2 内容中可以直接出现换行符

let str1 = `<ul><li>tom</li><li>lisa</li><li>gg</li></ul>`

3 变量拼接

let lovest = 'tom';let out = `${lovest}我最爱的是`;console.log(out);

简化对象写法

ES6 允许在大括号里面 直接写入变量和函数 作为对象的属性和方法
这样书写更加简洁

let name = 'tom';let change = function() {console.log('will be change');}const name2 = {name,change,improve() {console.log('简单');}}console.log(name2);

箭头函数

ES6 允许使用 箭头函数 => 定义函数

let fn = (a, b) => {return a + b;}

1 this 是静态的 this 始终指向函数声明时所在作用域下的 this的值都不会改变

function getName() {console.log(this.name);  // 输出 mark}let getName2 = () => {console.log(this.name); // 输出mark}name = 'tom';window.name = 'mark';const sxt = {name: 'eve'}getName();getName2();

2 不能作为构造函数 实例化对象
let person = (name, age) => {
// this.name = name;
// this.age = age;
// }
// let me = new person(‘xiao’, 18)
3 不能使用 arguments 变量
4 箭头函数的简写

//1 省略小括号 当形参有且只有一个的时候let add = n => {return n + n;}console.log(add(9));// 2 省略花括号 当代码体只有一条语句时 此时 ruturn 必须省略// 而且语句的执行结果就是函数的返回值let pow = n => n * n;console.log(pow(9));

实例

// 点击 div 2s 后变为红色let ad = document.getElementById('ad');ad.addEventListener('click', function() {setTimeout(() => {this.style.background = 'pink';console.log(this);}, 1000)})// 从数组中返回偶数的元素const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];// const result = arr.filter(function(item) {//     if (item % 2 == 0) {//         return true//     } else {//         return false//     }// });const result = arr.filter(item => item % 2 == 0)console.log(result);//箭头函数适合与  this 无关的回调 定时器 数组方法的回调// 不适合 与this有关的回调 事件回调,对象的方法

参数默认值

// ES6 允许给函数参数赋值初始值// 1. 形参初始值 具有默认值的 参数默认值一般都要靠后(潜规则)function add(a, b, c = 10) {return a + b + c;}let resu = add(1, 2, 3);console.log(resu);//2. 与解构赋值结合function connect({host = '127.0.0.1',username,password,port}) {console.log(host);console.log(username);console.log(password);console.log(port);}connect({username: '003',password: '000',port: '3306'})

rest 参数

ES6 引入 rest 参数 用于获取函数的实参 用来代替 arguments

// ES5 获取方式function date() {console.log(arguments);}date('tom', 'gg', 'ggg')// rest参数function data(...args) {console.log(args); // filter some every map}data('tom', 'gg', 'ggg')// rest 参数 必须要放在参数最后function fn(a, c, ...args) {console.log(a);console.log(c);console.log(args);}fn(1, 2, 3, 4, 5, 6, )

spread扩展运算符

//  扩展运算符能将 数组 转换为逗号分隔的 参数xulie// 声明数组 const arr = ['tom', 'jim', 'jhon'];//函数function persons() {console.log(arguments);}persons(...arr);

扩展运算符应用

// 数组的合并const names = ['Tom', 'Jhon', 'Jack']const names2 = ['Eve', 'Jney', 'Bock']console.log(names.concat(names2));const ban = [...names, ...names2];console.log(ban);// 数组的kelongconst san = ['E', 'G', 'M'];const three = [...san];console.log(three);// 将伪数组转为真正的数组const divs = document.querySelectorAll('div');const divarr = [...divs]console.log(divarr);

更多推荐

ES6 let const 变量的解构赋值 模板字符串 简化对象写法 箭头函数 rest spread

本文发布于:2024-02-12 16:52:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688629.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:赋值   箭头   写法   字符串   变量

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!