摘要:箭頭函數(shù)省略省略原來的變成和過程大概為檢測命名是否內(nèi)存中存在報(bào)錯(cuò)命名命名過程中,如果函數(shù)出錯(cuò),命名依舊占過去,不能再重新給函數(shù)定義這個(gè)命名。閉包參數(shù)有個(gè)特色,對(duì)外為變量,為內(nèi)為常量。報(bào)錯(cuò),已經(jīng)被聲明。我理解的繼承的意義就是提高代碼復(fù)用率。
這篇文章主要因?yàn)橹皇莻€(gè)人對(duì)ES6的不完整的理解,寫的不是很生動(dòng),如果有比較了解的歡迎糾錯(cuò)。
1.箭頭函數(shù)
省略 function 省略return;
原來的
function (){ retrun... } 變成 () = >
2.const 和 let
const過程大概為檢測 命名是否內(nèi)存中存在? 報(bào)錯(cuò) :命名 ;
命名過程中,如果函數(shù)出錯(cuò),命名依舊占過去,不能再重新給函數(shù)定義這個(gè)命名。
var x; const x = () => {...}//報(bào)錯(cuò),命名已經(jīng)存在 const y = () => {console.log(1)//報(bào)錯(cuò),miss },定義函數(shù)失敗 const y = () => {console.log(1)}//報(bào)錯(cuò),命名已存在
let作用于塊級(jí)作用域,從我膚淺的理解角度,就類似個(gè)閉包的參數(shù)。所以沒法再同一作用域用let定義同一個(gè)參數(shù)。閉包參數(shù)有個(gè)特色,對(duì)外為變量,為內(nèi)為常量。
let x = 1; let x = 2;//報(bào)錯(cuò),x已經(jīng)被聲明。 function test(){let x = 3};//不報(bào)錯(cuò) for(var i = 0;i < 5;i++){ setTimeout(() => {console.log(i)},1000) }// 5 5 5 5 5 for(let i = 0;i < 5;i++){ setTimeout(() => {console.log(i)},1000) }// 0 1 2 3 4 這實(shí)際等于 var n = (t) =>{setTimeout(() => {console.log(t)},1000)} for(var i = 0;i < 5;i++){ n(i); }
3.promises
異步處理功能
定義一個(gè)函數(shù)為new Promise(),Promises里面有倆個(gè)參數(shù)對(duì)象,resolve //成功,reject //失敗,這倆個(gè)參數(shù)寫在函數(shù)的最后面,表示這個(gè)函數(shù)是不是執(zhí)行成功了。
resolve和reject可以帶入自己的參數(shù)。
.then()可以無限鏈下去。我個(gè)人覺得這個(gè)可以封裝一個(gè)方法。
var con1 = new Promise(function(resolve,reject){ setTimeout(() => {console.log(1);true?resolve("成功"):reject("失敗")},1000) }) var con2 = (t) => {setTimeout(() => {console.log(t)},1000)}; con1.then((resolve的參數(shù)) => {con2(resolve的參數(shù))},(reject的參數(shù)) => {con2(reject的參數(shù))})
4.class
class應(yīng)該是涉及到了原型鏈,原型鏈就是一個(gè)函數(shù)的原型函數(shù),區(qū)別于構(gòu)造函數(shù)。主要用于繼承。
我理解的繼承的意義就是提高代碼復(fù)用率。
class test1{ testOne(){console.log("this is test1.testOne")} } class test2 extends test1{ testTwo(){console.log("this is test2.testTwo")} } var test3 = new test2(); test3.testOne();//this is test1.testOne test3.testTwo();//this is test1.testTwo
5.數(shù)組合并rest
rest的寫法就是...
var testRest = (...x) => {console.log(x)}; tesrRest(1,2,3)//[1,2,3] const a = [1,2,3]; const b = [4,5,6]; const c = [...a,...b];//[1,2,3,4,5,6]
6.遍歷forEach
c.forEach(function(data){ console.log(data) })//1 2 3 4 5 6
7.默認(rèn)值
var z = undefined; var x1 = z||"默認(rèn)值z(mì)";//默認(rèn)值z(mì) var y = "y"; var x2 = y||"默認(rèn)值y";//y var q = false; var x3 = q||"默認(rèn)值q";//默認(rèn)值q var w = null; var x4 = w||"默認(rèn)值w";//默認(rèn)值w var e = ""; var x5 = e||"默認(rèn)值e";//默認(rèn)值e
我覺得這里面最沒怎么踩懂的就是class 因?yàn)樵玩溸€是沒有能完全弄懂 踩得最忐忑的就是 promise 因?yàn)檫@里面的格式太局限了,而且網(wǎng)上找的解釋很多不解釋reslove和reject的判斷條件
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85074.html
摘要:先把當(dāng)成文件,依次查找當(dāng)前目錄下的,找到了,就返回該文件,不再繼續(xù)執(zhí)行。那么關(guān)于正確的結(jié)論是在中使用是跟的效果相同,不會(huì)因?yàn)閱?dòng)腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對(duì)于啟動(dòng)腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動(dòng)態(tài),大家一起多交流學(xué)習(xí),共同進(jìn)步,以學(xué)習(xí)者的身份寫博...
摘要:先把當(dāng)成文件,依次查找當(dāng)前目錄下的,找到了,就返回該文件,不再繼續(xù)執(zhí)行。那么關(guān)于正確的結(jié)論是在中使用是跟的效果相同,不會(huì)因?yàn)閱?dòng)腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對(duì)于啟動(dòng)腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動(dòng)態(tài),大家一起多交流學(xué)習(xí),共同進(jìn)步,以學(xué)習(xí)者的身份寫博...
摘要:要想用好必須對(duì)基礎(chǔ),體系,打包工具有較深的了解對(duì),有了解。官方提供的腳手架不能指定入口文件,如果我們想要在項(xiàng)目中使用,沒有入口文件將會(huì)變得比較復(fù)雜。那么,我們應(yīng)該如何使得當(dāng)前項(xiàng)目具有入口文件呢答案是只能修改文件。 寫在前面的話: 注意!該文檔是2017年年底的文章,那個(gè)時(shí)候weex還有很多問題,現(xiàn)在weex已經(jīng)全面更新,文檔也比較全。下面的講解可能不太適應(yīng)新的weex框架,后面我會(huì)再立...
摘要:前言最近在學(xué)習(xí),發(fā)現(xiàn)的官方文檔中的分鐘上手輔導(dǎo)教程中會(huì)有許多新手可能很難理解的地方,所以記錄一下聲明一下我用的版本是以后版本可能有所不同什么是維基百科上說是一種由微軟開發(fā)的自由和開源的編程語言。 前言 最近在學(xué)習(xí)TypeScript,發(fā)現(xiàn)TypeScript的官方文檔中的5分鐘上手TypeScript輔導(dǎo)教程中會(huì)有許多新手可能很難理解的地方,所以記錄一下 聲明一下我用的版本是 npm ...
閱讀 521·2021-10-09 09:44
閱讀 2100·2021-09-02 15:41
閱讀 3558·2019-08-30 15:53
閱讀 1838·2019-08-30 15:44
閱讀 1293·2019-08-30 13:10
閱讀 1200·2019-08-30 11:25
閱讀 1479·2019-08-30 10:51
閱讀 3371·2019-08-30 10:49