ECMAScript與Javascript的關(guān)系?
- 前者是后者的規(guī)格,后者是前者的一種實現(xiàn)。
let和var的區(qū)別?
- 前者嚴格遵守塊級作用域,后者則不然,容易造成變量泄露污染。
什么是頂層對象?
- 瀏覽器環(huán)境指定是window對象,Node指的是global對象,Web Worker指的是self
- ES2020引入globalThis,在所有環(huán)境都指向頂層對象。
變量的解構(gòu)賦值
- 即快速將某個對象的屬性方法賦值到變量,方便使用,如下
// 例一
const { log } = console;
log('hello') // hello
// 例子二,輸入模塊指定方法
import { SetData, GetMap } from "../util/commonFunction.js"
字符串拓展方法
- includes():返回布爾值,表示是否找到了參數(shù)字符串。
- startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。
- endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部。
- replaceAll(): 替換所有匹配字符串
- trimStart()和trimEnd(): 消除頭部空格和消除尾部空格
正則的拓展
- 暫略后補
數(shù)值的拓展
Number對象方法:
- isFinite 判斷是否數(shù)值
- isNaN 判斷是否為NaN
- parseInt 解析為整數(shù)數(shù)
- parseFloat 解析為浮點數(shù)
- isInteger 判斷是否為整數(shù)
Math對象方法:
- trunc 去除一個數(shù)的小數(shù)部分,返回整數(shù)
- sign 判斷數(shù)是正數(shù)、負數(shù)還是0。(+1 正數(shù),-1 負數(shù),0 ,NaN 其他值)
函數(shù)的拓展
- 配置默認值,例如:
function Point(x = 0, y = 0) {
return x+y;
}
- 箭頭函數(shù),例如:
var f = () => 5;
// 等同于
var f = function () { return 5 };
- 尾調(diào)用和尾遞歸優(yōu)化,使用其可以節(jié)約內(nèi)存提高資源利用率
數(shù)組的拓展
- 拓展運算符 ... :將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列;可以快速實現(xiàn)數(shù)組的淺拷貝
- Array.from : 轉(zhuǎn)化成數(shù)組