变量声明
let
1.局部作用域
2.不能重复声明
3.不会变量提升
const
1.局部作用域
2.不能重复声明
3.不会变量提升
4.声明必须赋值
5.声明后不能修改*
6.建议变量名大写
解构
把对象或者数组解析为单独的变量
数组
用,分割可以跳过
...剩余值
给默认值
有顺序的
let[a,,b,,c,d=10,...res] = arr;
对象解构
let{age,name,eye=2} = obj;
变量名和对象的键名保持一致
无序的
字符串
模板
`包裹字符串,${变量} `
语义清晰;可以包含特殊字符串;保留换行
检测
includes 是否包含
startsWith 是否开头包含
endsWIth 是否结尾包含
常见方法
repeat(n) 把字符串重复n次
padStart(len,sub) 把字符串用n填充len长度
padEnd(len,sub) 从后开始填充
函数
箭头函数
1.=>前是参数,=>后是执行语句也是返回值
2.参数如果不是一个,需要用个( )包裹
3.执行语句如果不是一行用{ }包裹
4.返回值如果是对象字面量形式用( )包裹
5.箭头函数中的this指向函数的上一层作用域的this
默认参数
function fn(a=10){}
不定参
function fn(...arg){}
扩展参
调用参数的时候, 把数组扩展后当参数传递
fn(...arr);