一:let比var的竞争优势
let只在本地区有效率,避免内部出访阻碍let不存有表达式提高,当未新闻稿时就出访间接收起,不能回到undefined短暂性死区:let在本地区表述了两个表达式,则内部表述完全相同表达式名的严重错误率会高于let。未表述前出访依然手忙脚乱。Let不容许在完全相同促进作用皮先卡,多次重复新闻稿同两个表达式。const指示其对准表达式时,不容再被更动表达式。其他优点与let完全一致对准第一类时,是对准门牌号。门牌号不容更动,门牌号中的值能更动.注销优点和第一类。 Const foo=Object.freeze({});第一类优点都不能更动。ES6有6种新闻稿表达式的形式:var,function,let,const,import,class
var和function新闻稿自上而下的表达式,依然是自上而下第一类的优点;let,const,class心灵的自上而下表达式,无须是自上而下第一类的优点.
Var a==window.a let a!=window.a;
三.重构表达式
缺省施行前提:第一类的优点值严苛等同于undefined.var {x=3}={}; //x=3
Var {x=3}={x:null}; //x=null
假如重构失利,表达式的值等同于undefined;Var {foo} ={bar:’baz’};
3.假如要将两个早已新闻稿的表达式用作重构表达式:
Var x; {x}={x:1} //syntax error
严重错误其原因:即使js发动机会将{x}认知成一个标识符块
化解形式:
({x}={x:1});
字符串的重构拷贝,字符串会被切换为两个类似于字符串的第一类。重构表达式的准则:如果等号左边的值并非第一类,就会先将其转化成为第一类。Let {prop:x}=undefined;
Let {prop:y=null;
上述都会收起,即使Null和undefined无法切换为第一类。
常用形式
一:判定两个字符串是否包含在另两个字符串里
Js:indexOf
Es6: includes();回到布尔值,表示是否能找到参数字符串。
startsWith():回到布尔值,表示参数字符串是否在源字符串的头部。
endsWith():回到布尔值,表示参数字符串是否在源字符串的尾部.
这三个形式都支持第二个参数,表示开始搜索的位置.endsWith行为与其他两个形式不同,它表示只针对前n个字符,其他两个表示当前位置到最后
Var s=’hello world’;
s.startsWith(‘hello’) //true
s.endsWith(‘!’) //true
S.includes(‘o’) //true
s.endsWith(‘hello’,5); //true
repeat函数: 接受两个数字,回到两个新字符串,表示将原字符多次重复n次参数假如是小树。会被向下取整‘na’.repeat(2.9); //’nana’
2.参数是负数和Infinity,会收起
‘na’.repeat(-1); //RangeError
参数是字符串,则会先切换为数字.‘na’.repeat(‘na’) //””
假如是0到-1的小数,或NaN,则等同于0‘na’.repeat(NaN); //””
三:padStart(),padEnd() : 接受两个参数,第两个参数用来指定最小长度,第 二个用来补全的字符串。
假如用来补全的字符串与原字符串两者长度超过了最小长度,则截去超过长度的字符abc.padStart(10,’0123456789’); //’0123456abc’
假如省略第二个参数,则会用空格补全长度‘x’.padStart(4); //’ x’