//簡潔表示法
{
? ? ? ?let ?o ?= ?1;
? ? ? ?let ?k ?= ?2;
? ? ? // es5 寫法
? ? ? ?let ?es5 = {
? ? ? ? ? ? ?o : o,
? ? ? ? ? ? ?k : k
? ? ? ?};
? ? ? ?console.log( es5 ); ?//? {o: 1, k: 2}
? ? ? ?//es6 寫法
? ? ? ?let ? es6 = {
? ? ? ? ? ? ? o , k
? ? ? ?};
? ? ? ?console.log( es6 ); ?//? {o: 1, k: 2}
? ? ? ?let ?es5_method ?= ?{
? ? ? ? ? ? ? hello : function(){
? ? ? ? ? ? ? ? ? ? ?console.log( 'es5_method' );
? ? ? ? ? ? }
? ? ? };
? ? ? let ? es6_method ?= ?{
? ? ? ? ? ? ? hello() {
? ? ? ? ? ? ? ? ? ? console.log( 'es6_method' );
? ? ? ? ? ? ? }
? ? ? ?};
? ? ? ?es5_method.hello();
? ? ? ?es6_method.hello();
}
//屬性表達式? 將key值用[]包起來,ga該key值就是之前申明的變量;
{
? ? ? ? let ? a = 'b';
? ? ? ? let ?es5_obj ?= ?{
? ? ? ? ? ? ? ? a : 'c',
? ? ? ? ? ? ? ?b : 'c'
? ? ? ?};
? ? ? ?let ? es6_obj ?= ? {
? ? ? ? ? ? ? ? [ a ] : 'c'
? ? ? ?};
? ? ? console.log(es5_obj);//? {a: "c", b: "c"}
? ? ? console.log(es6_obj);//? {b: "c"}
}
//擴展運算符
{
? ? ? ?// let {a,b,...c} = { a : 'test' , b : 'kill' , c : 'ddd' , d : 'ccc'}; ? ?現在還不支持
}
//Object新增方法
{
? ? ? //比較? Object.is()? 與 === 功能相同
? ? ? //字符串比較
? ? ? console.log('字符串',Object.is( 'abc' , 'abc' ) , 'abc'==='abc');//? 字符串? true? true
? ? ? // 對象比較
? ? ? console.log('數組',Object.is( [] , [] ) , []===[]);//? 數組? true? true
? ? ? // 拷貝
? ? ? console.log( "拷貝" , Object.assign( {a : 'a'} , { b : "b" }));//? 拷貝? {a: "a", b: "b"}
? ? ? lettest= { k : 123 , o : 456 };
? ? ? for( let [ key , value ] of Object.entries( test ) ) {
? ? ? ? ? ? console.log( key , value );//? k 123? o 456
? ? ? }
}