摘要:如果不是,會被轉(zhuǎn)成一個立即的對象函數(shù)內(nèi)部語句返回的值,會成為方法回調(diào)函數(shù)的參數(shù)和導(dǎo)入導(dǎo)出默認(rèn)有且只有一個默認(rèn)導(dǎo)入全部并且設(shè)置別名多個導(dǎo)出很多模塊導(dǎo)入部分導(dǎo)出新的原始數(shù)據(jù)類型,防止屬性名沖突,可以接受一個字符串作為參數(shù),表示對實例的描述。
常用的es6記錄 變量聲明const和let
let:塊級元素,不允許在相同作用域內(nèi),重復(fù)聲明同一個變量
const:對象所指向的地址不能改變,而變量成員是可以修改的
let [a, b, c] = [1, 2, 3]; let { foo, bar } = { foo: "aaa", bar: "bbb" };Spread Operator 展開運(yùn)算符
就是所謂的...
復(fù)制合并數(shù)組和對象
const arr1= [1, 2]; //復(fù)制數(shù)組 const arr2= [...arr1];(對象的子對象arr2改變不會影響arr1,后面子對象會影響) //合并數(shù)組 [...arr1,...arr2]
有時候我們想獲取數(shù)組或者對象除了前幾項或者除了某幾項的其他項
//對象也是類似下面這樣 let number = [1,2,3,4,5] let [first, ...rest] = number//2,3,4,5字符串?dāng)U展
模板字符串:將表達(dá)式嵌入字符串中進(jìn)行拼接。用${}來界定
var str = "hello"; var result = `${str} world`;
padStart:用于頭部補(bǔ)全,相對的padEnd為尾部補(bǔ)全
"1".padStart(2, "0");用于日期的補(bǔ)全工作數(shù)值擴(kuò)展
用來判斷一個數(shù)值是否為整數(shù):Number.isInteger()
Math函數(shù)的擴(kuò)展 Math.trunc 去除小數(shù)部分
Array.of()將一組值轉(zhuǎn)換成數(shù)組
Math.max(...[14, 3, 77]),取得最大值
為函數(shù)的參數(shù)設(shè)置默認(rèn)值
對象擴(kuò)展定義對象的函數(shù)可以省略冒號與 function 關(guān)鍵字
Object.assign():進(jìn)行淺復(fù)制和同名屬性的替換(源對象某個屬性的值是對象,如果改變會反映到目標(biāo)對象)
Object.is():比較兩個值是否相等
Object.values(),Object.keys()通過value或者key生成的數(shù)組
使用“箭頭”(=>)定義函數(shù)
函數(shù)體內(nèi)的this對象,就是定義時所在的對象,而不是使用時所在的對象
避免了層層嵌套的回調(diào)函數(shù),用于定時器、ajax中
Promise對象是一個構(gòu)造函數(shù),用來生成Promise實例,Promise 新建后立即執(zhí)行,Promise實例的狀態(tài)變?yōu)閞esolved,就會觸發(fā)then方法綁定的回調(diào)函數(shù)
接收的函數(shù)參數(shù)是同步執(zhí)行的,但是then方法中的回調(diào)函數(shù)執(zhí)行則是異步的
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("先輸出");async
async函數(shù)返回一個Promise對象,可以使用then方法添加回調(diào)函數(shù)
await表示緊跟在后面的表達(dá)式需要等待結(jié)果(異步操作),拿到結(jié)果才能進(jìn)入下一步,await只能出現(xiàn)在async函數(shù)中
await命令后面是一個Promise對象。如果不是,會被轉(zhuǎn)成一個立即resolve的 Promise對象
async函數(shù)內(nèi)部return語句返回的值,會成為then方法回調(diào)函數(shù)的參數(shù)
function timer(){ return new Promise((resolve,reject)=>{ setTimeout(resolve,1500); }); } async function go(){ await timer().then(()=>{console.log("timer")}); console.log("go"); } go();import 和 export
//導(dǎo)入 import people from "./example" // 導(dǎo)出默認(rèn), 有且只有一個默認(rèn) export default App //導(dǎo)入全部并且設(shè)置別名 import * as example from "./example" //n多個 export 導(dǎo)出很多模塊 //導(dǎo)入部分 import {name, age} from "./example" //導(dǎo)出 export name; export age;Symbol
新的原始數(shù)據(jù)類型,防止屬性名沖突,可以接受一個字符串作為參數(shù),表示對 Symbol 實例的描述。
let set = Symbol("set"); let a = {}; a[set] = "hello";
注意:1、Symbol值作為對象屬性名時,不能用點運(yùn)算符。2、該屬性不會出現(xiàn)在for...in、for...of循環(huán)中
結(jié)束,撒花~~~
github歡迎大家加star~~
https://github.com/ymblog/book
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/97962.html
摘要:定義類常用新特性在一個數(shù)組或者列表中檢查是否存在一個值還能在字符串中使用除了增強(qiáng)了可讀性語義化,實際上給開發(fā)者返回布爾值,而不是匹配的位置。 ES6常用新特性 1. let && const let 命令也用于變量聲明,但是作用域為局部 { let a = 10; var b = 1; } 在函數(shù)外部可以獲取到b,獲取不到a,因此例如for循環(huán)計數(shù)器就適...
摘要:定義類常用新特性在一個數(shù)組或者列表中檢查是否存在一個值還能在字符串中使用除了增強(qiáng)了可讀性語義化,實際上給開發(fā)者返回布爾值,而不是匹配的位置。 ES6常用新特性 1. let && const let 命令也用于變量聲明,但是作用域為局部 { let a = 10; var b = 1; } 在函數(shù)外部可以獲取到b,獲取不到a,因此例如for循環(huán)計數(shù)器就適...
摘要:每種編程語言都有一些黑魔法或者說小技巧,也不例外,大部分是借助或者瀏覽器新特性實現(xiàn)。下面介紹的個實用小技巧,相信其中有些你一定用過。當(dāng)然不管語言如何變化,我們總能在編程中總結(jié)一些小技巧來精簡代碼。 showImg(https://segmentfault.com/img/remote/1460000018902642); 每種編程語言都有一些黑魔法或者說小技巧,JS也不例外,大部分是借...
摘要:前言一直混跡社區(qū)突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來有點混亂所以將前端主流技術(shù)做了一個書簽整理不求最多最全但求最實用。 前言 一直混跡社區(qū),突然發(fā)現(xiàn)自己收藏了不少好文但是管理起來有點混亂; 所以將前端主流技術(shù)做了一個書簽整理,不求最多最全,但求最實用。 書簽源碼 書簽導(dǎo)入瀏覽器效果截圖showImg(https://segmentfault.com/img/bVbg41b?w=107...
閱讀 2203·2021-11-18 10:07
閱讀 3599·2021-09-04 16:48
閱讀 3303·2019-08-30 15:53
閱讀 1314·2019-08-30 12:55
閱讀 2516·2019-08-29 15:08
閱讀 3222·2019-08-29 15:04
閱讀 2954·2019-08-29 14:21
閱讀 2974·2019-08-29 11:21