ES6初识

一.什么是ES6

ES6是ECMAScript 6 的简称,ECMAScript就是JavaScript中的语法规范。

二.新增关键字

1.let关键字

let声明的变量仅仅在自己的块级作用域起作用,出了这个块级作用域就不起作用。

var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部,不在函数内即在全局作用域的最顶部。

这就导致了在使用var声明变量时,由于变量提升和作用域的原因,在很多情况下就会引起一些误解。这也是var的不足之处,而let就没有这方面的问题。

使用let的注意事项:1.同一个块级作用域内,不允许重复声明同一个变量。

                                2.函数内不能用let重新声明函数的参数

2.const关键字

const和 let一样,也是用来声明变量的,但是const是专门用于声明一个常量的。

特点:

1.不可修改

2.只在块级作用域起作用

3.不存在变量提升,必须先声明后使用

4.不可重复声明同一个变量

5.声明后必须要赋值

三.解构赋值

ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值

1.数组的解构赋值

var [a,b,c] =[1,2,3];
consoLe.log(a);// a的值为1
consoLe.log(b);// b的值为2
consoLe.log(c);// c的值为3

注意:不完全解构时,赋值不成功,变量的值为undefined

允许设置默认值

var [a,b,c=3] =[1,2];
consoLe.log(a);// a的值为1
consoLe.log(b);// b的值为2
consoLe.log(c);// c的值为3

2.对象的解构赋值

var { a,b,c } = {"a": 1,"c": 3, "b":2};
console.log(a);//结果:a的值为1
console.log(b);//结果:b的值为2
console.log(c);//结果:c的值为3

对象属性b和属性c的位置进行了调换,但这并不会影响赋值的结果,变量b和变量c的值不会改变。

对象的解构赋值不会受到属性的排列次序影响(数组则会受影响),它是跟属性名关联起来的,变量名要和属性名一致,才会成功赋值。

赋值不成功为undefined,同样可以指定默认值

3.字符串的解构赋值

var [a,b,c,d,e,f] ="我就是前端君";
console.log(a);//我
console.log(b);//就
console.log(c);//是
console.log(d);//前
console.log(e);//端
console.log(f);//君

在解构赋值的过程中,字符串被转换成了一个类似数组的对象

四.字符串的用法

1.模版字符串

模板字符串使用反引号 (` `) 来代替普通字符串中的用双引号和单引号。模板字符串可以包含特定语法(${expression})的占位符。

举个栗子,假如我们要拼接一段话:大家好,我是亚亚,我来自河南,我今年22岁了,我的爱好是狼人杀。

const Person = {
      name: "亚亚",
      age: 22,
      hometown: "河南",
      hobby: "狼人杀"
    }
`大家好,我是${Person.name},我来自${Person.hometown},
我今年${Person.age}岁了,我的爱好是${Person.hobby}。 `

另外{}内可以写一些表达式,比如:判断是否成年

const Person = {
      name: "亚亚",
      age: 22,
      hometown: "河南",
      hobby: "狼人杀"
    }
`大家好,我是${Person.name},我来自${Person.hometown},
我今年${Person.age}岁了,我的爱好是${Person.hobby},
我已经是${Person.age > 18 ? '成年人' : '未成年'}了。。 

2.repeat函数

将目标字符串重复N次,返回一个新的字符串,不影响目标字符串。

3.includes函数

判断字符串中是否含有指定的子字符串,返回true表示含有和false表示未含有。

4.startsWith函数

判断指定的子字符串是否出现在目标字符串的开头位置,第二个参数选填,表示开始搜索的位置。

5.endsWith函数

判断子字符串是否出现在目标字符串的尾部位置,第二个参数选填,表示针对前N个字符。

6.string.raw函数

返回字符串最原始的样貌,即使字符串中含有转义符,它都视而不见,直接输出。

五.数组的用法

1.Array.of函数

将一组值,转换成数组。

2.Array.from函数

可以将类似数组的对象或者可遍历的对象转换成真正的数组。

3.find函数

找出数组中符合条件的第一个元素。

4.findIndex函数

返回符合条件的第一个数组成员的位置下标。

5.fill函数

用指定的值,填充到数组。

let arr = [1,2,3];
arr.fi11(4);//结果:[4,4,4]

fill( )函数提供了一些参数,用于指定填充的起始位置和结束位置。

let arr = [1,2,3];
arr.fi11(4,1,3);//结果:[1,4,4]

上面的代码中第2个参数和第3个参数的意思是:从位置1的元素开始填充数字4,截止到位置3之前,所以是位置1和位置2的元素被数字4填充了,得到的结果:[1,4,4]。(位置从0开始)

6.entries函数

数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历。

7.keys函数

对数组的索引键进行遍历,返回一个遍历器。

8.values函数

对数组的元素进行遍历,返回一个遍历器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值