Let命令
{
let a = 10;
var b=1 ;
}
let 创建的变量只在代码块中有效
CONST命令
Const 用来声明常量
const PI = 3.1415
PI = 31
在第二行的赋值后则无效,但注意程序 不会报错,只会默默的失败,作用域与let相同。
数组的解构赋值
ES6 允许写成下面这样,如果解构不成功,变量的值就等于undefined
var[a,b,c]=[a,2,3]
var [,,abc]=["1","2","3"]
abc // 3
//解构赋值指定默认值
var[a=true] =[] ;
a //true
//解构不仅可以用于数组,还可以用于对象
var[a,b] = {a:"123" ,b:"321"}
b //321
//对象解析可通过属性同名获取值 ,循序可以没有次序,如果未找到对象的属性名,则返回undefined
和数据一样,解构也可以用于嵌套结构的对象
var o= {p:["hello",{y:"wordld"}]
var {p:[x,{y}]} = 0;
//对象的解构也可以指定默认值
var {x = 3} = {}
x //3
用途
变量的解构赋值用途
// 交换变量的值
[x,y]= [y,x]
// 从函数返回多个值
function o() {
return [1,2,3]
}
var [a,b,c] = o();
遍历MAP结构
var map = new Map();
map.set('a','aa')
for (let [key,value] for map) {
console.log(key+'is'+value)
}
字符串的扩展
codePointAt 方法
ES6提供了codePointAt 方法,是[0]返回UTF-16的Unicode编号 ,
var s = "吉A";
s.codePointAt(0) //134071
s.codePointAt(1) //97
formCodePoint 方法
该方法于用从Unicode编号返回对应的字符串
String.formCodePoint(134071) //"吉"
字符的Unicode表示法
"\uD82\uDFB7"
// "吉"
正则表达式的u 修饰符
用于处理大于\uFFFF 的Unicode的字符
var s= "吉"
/^.$/.text(s) //false
/^.$/u.text(s) //true
contains() ,startsWith(),endsWith()
contains(): 返回布尔值,表示是否找到了参数字符串
startsWith(): 返回布尔值,表示参数字符串是否在源字符串的头部
endsWith(): 返回布尔值,表示参数字符串是否在源字符串的尾部
var s ="Hello world!"
s.startsWith("Hello") //true
repeat()
返回一个新字符串,表示将原字符串重复N次
“X”.repeat(3) // "xxx"
模板字符串
模板字符串是用反引号(`)标识,
// 多行
`In jagagadf
dfsfsdf`
// 字符串中嵌入变量
var name ="bb" ,time ="aa"
` hello ${name},you ${time}`
数值的扩展
Math对象的扩展
Math.trunc()
方法用于去除一个数的小数部分
Math.trunc(4.1) //4
Math.trunc(4.9) //4
数组的扩展
Array.from()
将对象转换为数组
let ps =document.querySelectorAll('P');
Array.from(ps).forEach(ffunction(p){
consolo.log(p)
})
Array.of()
将一级值转换为数组
Array.of(3,11,8) //[3,11,8]
数组实例的find() 和findindex()
find() 用于找出第一个符合条件的数组元素,
[1,5,10.15].find(function(value,index.arr){
return value >9
})
// 10
findindex() 反回找到数据元素的位置
[1,5,10.15].findIndex(function(value,index.arr){
return value >9
})
// 2
数组实例fill()
使用给定值填充一个数组
['a','b','c'].fill(7)
// [7,7,7]
new Array(3).fill(7)
// [7,7,7]
// 第二个参数起始位置 第三个是结束位置
['a','b','c'].fill(7,1,2)
// ['a','7','c']
数组实例 entries() ,keys() ,values()
用于遍历数组,他们都返回一个遍历器,
for (let index of ['a','b'].keys()){
console.log(indesx)
}
//0 1
for (let index of ['a','b'].value()){
console.log(indesx)
}
//a b