let:塊級元素,不容許在相同做用域內,重複聲明同一個變量
const:對象所指向的地址不能改變,而變量成員是能夠修改的git
let [a, b, c] = [1, 2, 3]; let { foo, bar } = { foo: "aaa", bar: "bbb" };
就是所謂的...
複製合併數組和對象es6
const arr1= [1, 2]; //複製數組 const arr2= [...arr1];(對象的子對象arr2改變不會影響arr1,後面子對象會影響) //合併數組 [...arr1,...arr2]
有時候咱們想獲取數組或者對象除了前幾項或者除了某幾項的其餘項github
//對象也是相似下面這樣 let number = [1,2,3,4,5] let [first, ...rest] = number//2,3,4,5
模板字符串:將表達式嵌入字符串中進行拼接。用${}來界定ajax
var str = 'hello'; var result = `<div>${str} world</div>`;
padStart:用於頭部補全,相對的padEnd爲尾部補全數組
'1'.padStart(2, '0');用於日期的補全工做
用來判斷一個數值是否爲整數:Number.isInteger()
Math函數的擴展 Math.trunc 去除小數部分異步
Array.of()將一組值轉換成數組
Math.max(...[14, 3, 77]),取得最大值async
爲函數的參數設置默認值函數
定義對象的函數能夠省略冒號與 function 關鍵字
Object.assign():進行淺複製和同名屬性的替換(源對象某個屬性的值是對象,若是改變會反映到目標對象)
Object.is():比較兩個值是否相等
Object.values(),Object.keys()經過value或者key生成的數組this
使用「箭頭」(=>)定義函數
函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象rest
function result(value){ return new Promise(function(resolve,reject){ if(value){ resolve('你成功了'); }else{ reject('你失敗了'); } }); } 也能夠直接定義return Promise.reject('xxx'); result(true).then(function(value){ console.log(value); }).catch(function(value){ console.log(value); }); console.log('先輸出');
function timer(){ return new Promise((resolve,reject)=>{ setTimeout(resolve,1500); }); } async function go(){ await timer().then(()=>{console.log('timer')}); console.log('go'); } go();
//導入 import people from './example' // 導出默認, 有且只有一個默認 export default App //導入所有而且設置別名 import * as example from "./example" //n多個 export 導出不少模塊 //導入部分 import {name, age} from './example' //導出 export name; export age;
新的原始數據類型,防止屬性名衝突,能夠接受一個字符串做爲參數,表示對 Symbol 實例的描述。
let set = Symbol('set'); let a = {}; a[set] = 'hello';
注意:一、Symbol值做爲對象屬性名時,不能用點運算符。二、該屬性不會出如今for...in、for...of循環中
結束,撒花~~~
歡迎你們加star~~
https://github.com/ymblog/book