Set()
let arr= [ 1 , 2 , 3 , 4 , 1 , 2 , 3 , 4 ]
let result = [ . . new Set ( arr) ]
console. log ( result)
let arr2 = [ 2 , 3 , 4 , 4 ]
let result = [ ... new Set ( arr) ] . filter ( item => {
/ *第二种* /
new Set ( arr2) . has ( item)
} )
let union = [ ... new Set ( [ ... arr, ... arr2] ) ]
console. log ( union)
let diff = [ ... new Set ( arr) ] . filter ( item =>
! ( new Set ( arr2) . has ( item) ) )
console. log ( diff)
Map
let m = new Map ( )
m. set ( 'name' , 'aaa' )
m. set ( 'change' , function ( ) {
console. log ( "11" )
} )
let key = {
school: 'aaaaa'
}
m. set ( key, [ 'a' , 'b' , 'c' ] )
console. log ( m. size)
console. log ( m)
m. delete ( 'name' )
console. log ( m. get ( 'change' ) )
console. log ( m. get ( key) )
Class类
function Phone ( brand, price ) {
this . brand = brand;
this . price = price
}
Phone . prototype. call = function ( ) {
console. log ( "call...." )
}
let Huawei = new phone ( "huawei" , 5999 )
Huawei . call ( )
console. log ( Huawei)
class Shouji {
constructor ( brand, price ) { this . brand = brand;
this . price = price;
}
call ( ) {
console. log ( "call...." )
}
let onePlus = new Showji ( '1+' , 1999 )
console. log ( onePlus)
}
function Phone ( ) {
}
Phone. name = 'shouji'
Phone. change = function ( ) {
console. log ( 'zzzz' )
}
Phone . prototype. size = '5.5inch'
let nokia = new Phone ( )
console. log ( nokia. name)
nokia. change ( )
console. log ( nokia. size)
class Shouji ( ) {
static name = 'shouji'
static change ( ) {
console. log ( 'change' )
}
}
let nokia = new Shouji ( )
console. log ( nokia. name)
console. log ( Shouji. name)
继承
function Phone ( brand, price ) {
this . brand = brand;
this . price = price
}
Phone . prototype. call = function ( ) {
console. log ( "call...." )
}
function SmartPhone ( brand, price, color, size ) {
Phone . call ( this , brand, price)
this . color = color;
this . size = size
}
SmartPhone . prototype = new Phone ;
SmartPhone . prototype. constructor = SmartPhone;
SmartPhone . prototype. photo = function ( ) {
console. log ( "paizhao" )
}
SmartPhone . prototype. playGame = function ( ) {
console. log ( "wanyouxi" )
}
const chuizi = new SmartPhone ( 'chuizi' , 2499 , 'black' , '6inch' )
console. log ( chuizi)
class Phone {
constructor ( price, brand ) {
this . price = price;
this . brand = brand
}
call ( ) { console. log ( "call...." )
}
}
class SmartPhone extends Phone ( ) {
constructor ( brand, price, color, size ) {
super ( brand, price) ;
this . color = color;
this . size = size
}
photo ( ) {
console. log ( "photo" )
}
playGame ( ) {
console. log ( "wanyouxi" )
}
call ( ) {
console. log ( "call...." )
}
}
const xiaomi = new Smartphone ( 'xiaomi' , 799 , 'black' , '4inch' )
console. log ( 'wanyouxi' )
call的get和set
class Phone {
get price ( ) {
console. log ( "price..." )
return 'iloveyou'
}
set price ( newVal ) {
console. log ( "price修改了" )
}
}
let s = new Phone ( )
console. log ( s. price)
s. price = 'free'
Number
function equal ( a, b ) {
if ( Math. abs ( a- b) < Number. EPSILON ) {
return true
} else {
return false
}
}
console. log ( 0.1 + 0.2 === 0.3 )
console. log ( equal ( 0.1 + 0.2 , 0.3 ) )
console. log ( Number. isFinite ( 100 ) )
console. log ( Number. isFinite ( 100 / 0 ) )
console. log ( Number. isFinite ( Infinity )
console. log ( Number. isNaN ( 123 ) )
console. log ( Number. parseInt ( 11111 love) )
console. log ( Number. parseFloat ( 1.1111 love) )
console. log ( Number. isInteger ( 5 ) )
console. log ( Math. trunc ( 3.5 ) )
console. log ( Math. sign ( - 21 ) )
console. log ( Object. is ( 123 , 123 ) )
console. log ( Object. is ( NaN ,NaN ) )
console. log ( Object. is ( NaN === NaN ) )
const config1 = {
host: 'localhost' ,
port: 3306 ,
name: 'root' ,
pass: 'root'
}
const config2 = {
host: 'http;//1111.com' ,
port: 33060 ,
name: '11111' ,
pass: '22222'
}
console. log ( Object. assign ( config1, config2) )
const school = {
name: '111'
}
const cities = {
xiaoqu = [ 'a' , 'b' , 'c' ]
}
Object. setPrototypeof ( school, cities)
console. log ( school)