ES6常见语法特性实例

本文详细介绍了ES6中的let、const、解构赋值、字符串扩展和函数扩展等关键语法特性,包括它们的工作原理、用例及注意事项。例如,let声明的变量存在块级作用域,不允许重复声明;const声明的是不可变变量,必须初始化;解构赋值允许灵活地从数组和对象中提取值;模板字符串简化了字符串操作;函数扩展则引入了剩余参数、扩展运算符和箭头函数等概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Let基本特性。

(1)let声明的变量不存在预解析。即不可以再定义变量之前,使用变量。   

1.

预解析,在这里,相当于

执行结果:

 

2.

执行结果:

 

(2).let 不可以重复声明一个变量(同一作用域)。

1.

执行结果:不会报错

 

2.

执行结果:

 

 

(3).let声明的变量会产生块级作用域(一般不同的作用域是用{}隔开)

1.

执行结果为1

 

2.

执行结果:

 

3.

执行结果为3,外部的作用域拿不到内部的变量,但内部的变量可以使用外部的变量。

 

 

(4).for()循环括号内声明的变量只能在内部使用–

执行结果:

 

Const基本特性

const声明的变量是静态的,不可改变的,且声明的时候必须初始化。

正确用法:

执行结果是1

 

错误实例:

(1)

执行结果:

 

(2)

执行结果:

 

 

 

解构赋值

(1)

执行结果:

(2)

执行结果:

(3)

执行结果:

 

(4)

执行结果:

 

(5)结构对象时,key值必须相等。

执行结果:

 

(6)key值名称相同即可,但每个key的先后顺序不影响结构赋值。

执行结果:

 

(7)可以给左边的待解构变量取别名,通过冒号

执行结果:,这里只能通过baba拿到解构的值,b失效,不可以使用了。

在此基础上还可以默认初始化一个值。

执行结果:

 

(8)解构变量也可以拿到函数的定义。

执行结果:

 

(9)

执行结果:

 

(10)字符串对象有的属性和方法,通过大括号解构的方式取它的属性和值。

执行解构:。这里的length就是字符串对象的一个属性,所以可以解构成功。

 

 

字符串扩展

  1. Includes():判断这个字符串对象是否含有某个字串,返回结果是boolean值。

执行结果:

 

默认搜索主串的索引为0,这里可以指定任意索引,即从主串的任意位置搜索。

执行结果:

 

(2)startsWith():判断主串是否为子串开始。

执行结果:

 

(3)endsWith():判断主串是否为子串结束。

执行结果:

 

(4)模板字符串

执行结果:

 

再${}内,可以执行js的代码,并有具体的信息返回值。

执行结果:

 

 

函数扩展

(1)

执行结果:

 

(2)

执行结果:

 

(3)函数参数的解构赋值

执行结果:

 

(4) 函数的剩余参数

执行结果:

 

(5)扩展运算符  …

执行结果:

可以通过此运算符合并数组

执行结果:

 

(6)箭头函数

在node环境下的执行结果:

 

对于带有一个参数只执行一条语句的函数,()和{} 可以省略,

执行结果:

 

对于多个参数和多条执行语句则必须加上()和{}

 

执行结果不同之处在于箭头函数中的this = {},而正常函数中的this = global(node环境)

更准确的来说,箭头函数的this取决定函数的定义,正常函数this取决于函数的调用。

 

箭头函数不可以new

执行结果:

 

执行结果:

 

箭头函数不可以使用arguments获取函数列表,可以使用剩余参数的方式代替。

箭头函数执行的结果,是另一个函数对象。

正常函数的执行结果是参数列表,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值