ES6 笔记 (一)

举报
阿童木 发表于 2021/08/22 14:44:06 2021/08/22
【摘要】 ES6学习笔记 let 和 constlet: 声明的变量只有在let命令下的代码块有效,也叫块级作用域const: 声明的变量是只读的,一旦声明常量的值就不能改变,但是如果用const来声明数组或者对象,则数组,对象下的值可以改变,原因是const指向的变量的地址没有发生改变 let 和 var的区别let是在代码块内有效,var是全局范围有效let只能声明一次,var可以多次声明;le...

ES6学习笔记

let 和 const

let: 声明的变量只有在let命令下的代码块有效,也叫块级作用域

const: 声明的变量是只读的,一旦声明常量的值就不能改变,

但是如果用const来声明数组或者对象,则数组,对象下的值可以改变,原因是const指向的变量的地址没有发生改变

let 和 var的区别

  1. let是在代码块内有效,var是全局范围有效
  2. let只能声明一次,var可以多次声明;
  3. let不存在变量提升,但有作用域链

解构赋值

从数组和对象中提取值,对变量进行赋值,称为解构赋值

  1. 基本的数组对数组赋值
let [a,b,c] = [1,2,3];//a=1,b=2,c=3
  1. 采用剩余运算符
let [a,...b] = [1,2,3];//a=1,b=[2,3]

剩余运算符表示用b来接收之后的所有值,所以返回数组

  1. 字符串解构
let [a,b,c,d,e] = 'hello';//hello

将字符串拆分成一个个字符来赋值,将字符串转化为对象

  1. 对象解构赋值
let {foo, bar} = { foo: 'aaa',bar: 'bbb'};
console.log(foo);//aaa
console.log(bar);//bbb
  1. 变量名和属性名不一致
let { baz : foo} = {baz : 'ddd'}
console.log(foo);//ddd
console。log(baz);undefind

baz是模式,foo才是值,在解构的时候,内部会先寻找同名的属性,赋值给他,所以这里是foo接收到了ddd

解构赋值应用

交换变量
var a = 1;
var b = 2;
[a,b] = [b,a];
接收返回值
function fn() {
	return [1,2,3];
}
var [a,b,c] = fn();
获取json对象中的数据
var data = {
    name : 'ljc',
    age : 20
}
var {name,age} = data;
console.log(name + age);//ljc20
部分赋值
var ljc=[1,2,3];
var [,x,]=ljc;
console.log(x);//2

var obj = {x : 1,y : 2, z : 3};
var {y : a} = obj;
console.log(a);//2

模板字符串

  1. 引入方式为【``】
console.log(`hello world`);	
  1. 使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
let str = `<ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
	 </ul>`;
  1. 变量拼接

模板字符串中嵌入变量,需要将变量名写在${}之中

let lovest = 'ljc';
let out = `${lovest}最帅`;
console.log(out);//ljc最帅
  1. 模板字符串调用函数
function fn () {
        console.log('我是ljc');
    }
let out = `${fn()}`;//我是ljc
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。