let const
let num = 10
if ( true ) {
console. log ( num)
let num = 20
}
解构赋值
let obj = { name: 'kobe' , age: 39 }
let { name, age, xxx} = obj
function foo ( { name, age} ) {
console. log ( name, age)
}
foo ( obj)
let arr = [ 1 , 2 , 34 , 'add' ]
let [ a, b, c, d, e] = arr
let [ , , c, d] = arr
模板字符串
let obj = { name: 'kobe' , age: 39 }
let str = `名字: ${ obj. name} ,年龄: ${ obj. age} `
对象简写方式
let name= 'kobe' , age= 39
let obj = {
name,
age,
getName ( ) {
return this . name
}
}
箭头函数
let fun1 = ( ) => console. log ( '箭头函数' )
fun1 ( )
let fun2 = a => console. log ( '箭头函数' )
fun2 ( )
let fun3 = ( x, y) => console. log ( '箭头函数' )
fun3 ( )
let fun4 = ( x, y) => x + y
console. log ( fun4 ( 10 , 20 ) )
let obj = {
name: 'arrow'
getName: ( ) => {
btn. onclick = ( ) => {
console. log ( this )
}
}
}
obj. getName ( )
let obj = {
name: 'arrow'
getName: function ( ) {
btn. onclick = ( ) => {
console. log ( this )
}
}
}
obj. getName ( )
三点运算符
function foo ( ... value) {
value. forEach ( function ( item, index) {
console. log ( index, item)
} )
}
foo ( 1 , 3 , 6 , 8 , 9 )
let arr = [ 1 , 5 ]
let arr1 = [ 2 , 3 , 4 ]
arr = [ 1 , ... arr1, 5 ]
arr. push ( ... arr1)
console. log ( ... arr)
形参默认值
function Point ( x= 1 , y= 2 ) {
this . x= x
this . y= y
}
let point = new Point ( )
console. log ( point)
let point1 = new Point ( 3 , 4 )
console. log ( point1)
promise
let promise = new Promise ( ( resolve, reject) => {
setTimeout ( ( ) => {
reject ( '失败数据' )
} , 1000 )
} )
promise
. then ( ( data) => {
console. log ( '成功了' )
} , ( error) => {
console. log ( '失败了' )
} )
symbol
let symbol = Symbol ( )
let obj = { }
obj[ symbol] = 'hello'
let symbol2 = Symbol ( 'one' )
let symbol3 = Symbol ( 'two' )
console. log ( symbol2 == symbol3)
const person = Symbol ( 'person_key' )
iterator/for in/for of
let arr = [ 1 , 4 , 34 , 6 ]
for ( let i in arr) console. log ( i)
for ( let i of arr) console. log ( i)
let str = 'qaeaad'
for ( let i of str) console. log ( i)
function fun ( ) {
for ( let i of arguments) {
console. log ( i)
}
}
generator
function * myGenerator ( ) {
console. log ( '开始执行' )
yield 'hello'
console. log ( '暂停后再次执行' )
yield 'generator'
console. log ( '遍历完毕' )
return '返回的结果'
}
let mg = myGenerator ( ) ;
console. log ( mg. next ( ) )
console. log ( mg. next ( ) )
console. log ( mg. next ( ) )
字符串扩展
let obj = { name: 'kobe' , age: 39 }
let str = `名字: ${ obj. name} ,年龄: ${ obj. age} `
let str= 'adafa'
console. log ( str. includes ( 'a' ) )
console. log ( str. includes ( 'da' ) )
console. log ( str. startsWith ( 'a' ) )
console. log ( str. startsWith ( 'ad' ) )
console. log ( str. endsWith ( 'a' ) )
console. log ( str. endsWith ( 'fa' ) )
console. log ( str. repeat ( 5 ) )
数字扩展
console. log ( 0b1010 )
console. log ( 0 o78)
console. log ( 0x78 )
console. log ( Number. isFinite ( Infinity ) )
console. log ( Number. isNaN ( NaN ) )
console. log ( Number. isInteger ( 12.3 ) )
console. log ( Number. parseInt ( '12a' ) )
console. log ( Number. parseInt ( 'a12' ) )
console. log ( Math. trunc ( 123.12 ) )
数组扩展
let ary = [ 1 , 2 , 3 ] ;
... ary
console. log ( ... ary) ;
let ary1 = [ 1 , 2 , 3 ] ; let ary2 = [ 3 , 4 , 5 ] ;
let ary3 = [ ... ary1, ... ary2] ;
ary1. push ( ... ary2) ;
let btn = document. getElementsByTagName ( 'button' ) ;
console. log ( [ ... btn] )
Array. from ( btns) . forEach ( function ( item, index) {
console. log ( index, ' ' , item)
}
let arr = Array. of ( 1 , 4 , 'ab' , true )
arr. forEach ( function ( item, index) {
console. log ( index, ' ' , item)
}
let arr2 = [ 24 , 4 , 6 , 8753 , 45 ]
let ans = arr2. find ( function ( item, index) {
return item > 4
} )
console. log ( ans)
let ans1 = arr2. findIndex ( function ( item, index) {
return item > 4
} )
console. log ( ans1)
[ 1 , 2 , 3 ] . includes ( 2 )
对象扩展
console. log ( 0 == - 0 )
console. log ( NaN == NaN )
console. log ( Object. is ( 0 , - 0 ) )
console. log ( Object. is ( NaN , NaN ) )
let obj = { }
let obj1 = { name: 'ans' , age: 34 }
let obj2 = { sex: 'male' }
Object. assign ( obj, obj1, obj2)
obj. __proto__ = obj1
console. log ( obj)
console. log ( obj. name)
set map
let set = new Set ( [ 1 , 2 , 44 , 5 , 5 , 2 , ] )
console. log ( set , set . size)
set . add ( 7 )
set . delete ( 44 )
console. log ( set . has ( 2 ) )
set . clear ( )
console. log ( set . size)
let map = new Map ( [ [ 'aa' , 'bb' , 78 ] , [ 22 , 33 ] ] )
map. set ( 78 , 'a' )
console. log ( map. get ( 22 ) )
map. delete ( 'aa' )
map. has ( 'aa' )
map. clear ( )
console. log ( map. size)