36個(gè)助你成為專家需要掌握的JavaScript概念

1、調(diào)用棧執(zhí)行
2、原始數(shù)據(jù)類型
const foo = "bar";foo.length; // 3foo === "bar"; // true
3、值類型和引用類型
var arr1 = [1,2,3];var arr2 = arr1;arr2.push(10);console.log(arr2);//[1, 2, 3, 10]console.log(arr1);//[1, 2, 3, 10]
4、強(qiáng)制類型轉(zhuǎn)換
Number('789') // 顯式轉(zhuǎn)換+'789' // 隱式轉(zhuǎn)換789 != '456' // 隱式轉(zhuǎn)換9 > '5' // 隱式轉(zhuǎn)換10/null // 隱式轉(zhuǎn)換true | 0 // 隱式轉(zhuǎn)換
5、相等比較和’ typeof '操作符
typeof 3 // "number"typeof "abc" // "string"typeof {} // "object"typeof true // "boolean"typeof undefined // "undefined"typeof function(){} // "function"typeof [] // "object"typeof null // "object"
6、JavaScript作用域
7、語句和表達(dá)式
8、?立即調(diào)用函數(shù)表達(dá)式和模塊
9、?消息隊(duì)列和事件循環(huán)
10、時(shí)間間隔
setTimeout允許我們在特定的時(shí)間間隔后運(yùn)行函數(shù)一次。 setInterval允許我們重復(fù)運(yùn)行一個(gè)函數(shù),在特定的時(shí)間間隔后開始運(yùn)行,然后在該時(shí)間間隔內(nèi)連續(xù)重復(fù)運(yùn)行。
11、?JavaScript引擎
12、位操作
13、DOM和布局樹
14、類和工廠
15、"this"關(guān)鍵詞和,‘a(chǎn)pply’、'call’和’bind’方法
16、?構(gòu)造函數(shù)和’instanceOf’操作符
17、原型
18、?用’new’、‘Object.create’、'Object.assign’創(chuàng)建對象
19、?‘map’, ‘filter’, 和’reduce’方法
let numbers = [1,2,3,4,5,6]const reduced = numbers.reduce((accumulator, currentValue) => accumulator + currentValue)console.log(reduced)// 21
20、純函數(shù)、副作用和狀態(tài)變化
21、閉包
22、高階函數(shù)
23、?遞歸
24、?集合和生成器函數(shù)
25、?Promises
Pending: 你不知道你是否會得到那個(gè)電話。 Fulfilled: 媽媽很高興,她給你買了一個(gè)全新的手機(jī)。 Rejected: 媽媽不高興,她不給你買手機(jī)。
26、?異步編程
27、?ES6箭頭函數(shù)
28、?數(shù)據(jù)結(jié)構(gòu)
29、?時(shí)間復(fù)雜度
30、算法
搜索 排序
31、?繼承、多態(tài)和代碼重用
32、設(shè)計(jì)模式
33、?函數(shù)式編程
Pure functions Immutability Referential transparency Higher-order functions
34、干凈代碼的原則
35、解構(gòu)
36、ES2020新特性

評論
圖片
表情
