AI智能
改变未来

JS高级语法基础(四)

文章目录

  • ES6新增语法
  • let的使用
  • const的使用
  • 解构赋值
  • 箭头函数
  • 剩余参数
  • 拓展运算符
  • Array的构造函数方法
  • Array的查找方法
  • String的扩展方法
  • Set数据结构

ES6新增语法

let的使用

特点:
1、用let声明的变量只在块级作用域内有效(防止循环变量变成全局变量);
2、没有变量提升(必须先声明,再使用);
3、暂时性死区(全局变量传不进来)

const的使用

特点:
1、具有块级作用域;
2、声明变量时必须赋值;
3、常量赋值后,值不能更改,但可以更改数据结构内的值,比如:

const array = [100,200];array[0] = \'a\';array[1] = \'b\';console.log(array);//[\'a\',\'b\']

但不能更改为:array = [‘a’,‘b’]

解构赋值

ES6中允许从数组或对象中提取值,按照对应的位置进行赋值。

解构赋值有两种方式:
1、数组解构

let [a,b,c] = [1,2,3];//a=1,b=2,c=3

2、对象解构

let info = { uname: \'zs\',uage:20};let {uname,uage} = info;console.log(uname,uage);//\'zs\' 20let {uname:myName,uage;myAge} = info;console.log(myName,myAge);//\'zs\' 20

箭头函数

作用:简化函数定义语法

语法:const fn = (参数) => {函数体}

特点;
1、若函数体只有一句话,且其结果就是返回值,则可以省略大括号,如:const sum = (a,b) => a+b;
2、若形参只有一个参数,则可以省略小括号,如:
const square = a => a*a;
3、箭头函数不绑定this关键字,指向函数定义位置的上下文this

剩余参数

将不定数量的参数转换为数组

const sum = (first,...args) =>{console.log(args);//[2,3]};sum(1,2,3);

与解构配合

let laughter = [\'haha\',\'hehe\',\'xixi\'];let [x,...y] = laughter;console.log(x,y);//\'haha\' [\'hehe\',\'xixi\']

拓展运算符

将数组或对象转换为用逗号分隔的参数序列,如:

let arry = [1,2,3];console.log(...arry);//1 2 3相当于console.log(1,2,3)

合并数组:

let arry1 = [1,2,3];let arry2 = [4,5,6];let arry3 = [...arry1,arry2];//方法一let array4 = arry1.push(...arry2);//方法二

将伪数组或遍历对象转换为数组

let divs = documnet.querySelectorAll(\'div\');divs = [...divs];

转换为数组的作用:可以方便调用数组API

Array的构造函数方法

let obj = {\"0\": 1,\"1\": 2,\"2\": 3,length: 3};let arry = Array,from(obj,item => item * 2);

Array的查找方法

find():找第一个符合条件的数组成员,没找到则返回undefined,如:

let array = [{id:1,name:\'zs\'}];let result = array.find(item =>item.id == 1);

findIndex():找出第一个符合条件的成员的位置,没有则返回-1

let array = [10,20,30];array,findIndex(item =>item >15);//1

includes:是否包含某个值,返回布尔值

[1,2,3].includes(2);//True[1,2,3].includes(4);//False

String的扩展方法

创建模板字符串:

let name = `zhangshan`;let sayhello = `hello,my name is ${name}`;//可以解析变量let module = `<div><ul><li>haha</li><li>hehe</li></ul></div>`;//可以换行const fn = () =>`我是111`;let html = `${fn()}`;

两种字符串方法:
startsWith():判断参数字符串是否在原字符串头部,返回布尔值
endWith():判断参数字符串是否在原字符串尾部,返回布尔值

repeat(n):重复n次,返回新的字符串

Set数据结构

特点:成员值唯一,无重复值,类似数组
语法:const s1 = new Set([‘a’,‘b’]);
使用:
1、数组去重
2、实例方法
add(value)——添加一个值,返回Set本身
delete(value)——删除一个值,返回布尔值
has(value)——判断是否含有某个值,返回布尔值
clear()——清楚所有成员
3、遍历

let s1 = new Set([\'a\',\'b\']);s1.forEach(item =>{console.log(item)});// a b
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JS高级语法基础(四)