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