ES6雜碎

1、let聲明的變量沒有變量提升;

2、const聲明的變量:塊級作用域內有效,存在暫時性死區,變量指向的那個內存地址不得改動;

3、...tail解構出來的是數組或空數組

let [head, ...tail] = [1, 2, 3, 4];
head //1
tail //[2, 3, 4]

4、Iterator(遍歷器)是一種接口,作用:一是為各種數據結構,提供一個統一的、簡便的訪問接口,二是使得數據結構的成員能夠按某種次序排列,三是ES6創造了一種新的遍歷命令for...of循環,Iterator接口主要供for...of消費。

  在ES6中,有三類數據結構原生具備Iterator接口:數組某些類似數組的對象(例如:字符串)SetMap結構。

  默認調用Iterator接口的情況:

  *解構賦值

  *擴展運算符(...)

  *任何接受數組作為參數的場合

  只要某種數據結構具有Iterator接口,都可以采用數組形式的解構賦值

5、解構賦值,默認值生效的條件是,對象的屬性值嚴格等于undefined

var {x = 3} = {x: undefined};
x //3  默認值生效var {x = 3} = {x: null}; 
x //null   默認值不生效

?6、u修飾符

用來正確處理大于\uFFFF的Unicode字符(中文字)。

var s = '級';/^\uD83D/u.test('\uD83D\uDC2A') //false /^\uD83D/.test('\uD83D\uDC2A') //true

\uD83D\uDC2A是一個4字節的UTF-16編碼,代表一個字符。但是,ES5不支持4字節的UTF-16編碼,會將其識別為2個字符,導致第二行代碼結果為true。
加上了修飾符以后,ES6就會識別其為一個字符,所以第一行代碼結果為false.

?7、如果函數foo調用時參數不是對象,變量x和y就不會生成,從而報錯。

function foo ({x, y = 5}) {console.log(x, y)
}foo({}) //undefined, 5
foo({x: 1}) //1, 5
foo({x: 1,y: 2}) //1, 2
foo() //TypeError: Cannot read property 'x' of undefined

?

轉載于:https://www.cnblogs.com/krystalcl/p/9562173.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250780.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

koa --- 自制簡易的koa-router

打算自己寫一個簡單的Router類,來實現koa-router這個中間件的(部分)神奇功能 確定需求 1.首先導入需要在app.js里面導入自己寫的Router類 2.然后是使用的方式和掛載router的方式 // 導入Router類 const Router require(./components/router.js);// 使用方式,(暫時只對get請…

MariaDB 腳本

研究MariaDB&#xff0c; 需要mock up一些假數據&#xff1a; 生成n個長度整型數的函數rand_num&#xff1a; CREATE DEFINERrootlocalhost FUNCTION rand_num(n INT) RETURNS int(5) begin DECLARE i INT DEFAULT 0; DECLARE result INT DEFAULT 0; WHILE i < n DOSET re…

Promise的基本使用

利用Promise是解決JS異步執行時候回調函數嵌套回調函數的問題&#xff0c; 更簡潔地控制函數執行流程&#xff1b; 通過new實例化Promise&#xff0c; 構造函數需要兩個參數&#xff0c; 第一個參數為函數執行成功以后執行的函數resolve&#xff0c; 第二個函數為函數執行失敗…

軟工作業PSP與單元測試訓練

一、實現模塊判斷傳入的身份證號碼的正確性&#xff1b; 二、針對所實現的模塊編寫對應的單元測試代碼&#xff1b; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; import java.u…

koa --- nunjucks

安裝: npm install koa-nunjucks-2 --save目錄結構 |--- controller/ | |--- home.js |--- service/ | |--- home.js |--- views/ |--- app.js |--- router.jsapp.js // (部分) const nunjucks require(koa-nunjucks-2); app.use(nunjucks({ext: html,path: path.joi…

DNN模型訓練詞向量原理

轉自&#xff1a;https://blog.csdn.net/fendouaini/article/details/79821852 1 詞向量 在NLP里&#xff0c;最細的粒度是詞語&#xff0c;由詞語再組成句子&#xff0c;段落&#xff0c;文章。所以處理NLP問題時&#xff0c;怎么合理的表示詞語就成了NLP領域中最先需要解決的…

天平稱重【遞歸解法】

用天平稱重時&#xff0c;我們希望用盡可能少的砝碼組合稱出盡可能多的重量。如果只有5個砝碼&#xff0c;重量分別是1&#xff0c;3&#xff0c;9&#xff0c;27&#xff0c;81則它們可以組合稱出1到121之間任意整數重量&#xff08;砝碼允許放在左右兩個盤中&#xff09;。 本…

算法 --- reduce的使用.

描述: 難點: 將[[‘a’,‘b’,‘c’],[‘d’,‘e’,‘f’]]輸出為[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 關鍵代碼描述: 1.假設我們已經根據輸入的數字得到了 rawArr [[‘a’,‘b’,‘c’],[‘d’,‘e’,‘f’]] 2. 下一步將rawArr[0…

SpringBoot、mysql配置PageHelper插件

一&#xff1a;https://blog.csdn.net/h985161183/article/details/79800737 主要異常&#xff1a;org.springframework.beans.factory.BeanCreationException: Error creating bean with name com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration: pageHelper.…

字符串的拆分以及分隔符所在不同位置的刪除

try { //根據imComuserGroupMng獲取這個數據庫的所有ImComuserGroup數據 List<ImComuserGroup> list imComuserGroupMng.findAllComuserGroup(); //便利實體數據list為數據的集合 …

算法 --- 遞歸生成括號

問題描述 思路: 1.首先生成n個括號 2.左括號數量(記為l)不超過n 3.右括號數量(記為r)不超過n,且優先生成左括號(即 l < r) 4.需要設計一個遞歸式h(str,l,r) // 一開始,str , l 0, r 0 // 第一步進去,添加左括號, str(, l 1, r 0 // 然后因為 l < n . r < l 所以…

使用 TypeScript 改造構建工具及測試用例

最近的一段時間一直在搞TypeScript&#xff0c;一個巨硬出品、賦予JavaScript語言靜態類型和編譯的語言。 第一個完全使用TypeScript重構的純Node.js項目已經上線并穩定運行了。 第二個前后端的項目目前也在重構中&#xff0c;關于前端基于webpack的TypeScript套路之前也有提到…

JavaScript 驗證表單不為空和獲取select下拉列表的值和文本

1.驗證表單不為空 var hasform { "Name": "名字", "Id_card": "身份證", "PaySalary": "月工資", "CardCode": "賬號", "Fk_Subjectf_Code": &quo…

javascript --- 變量污染全局作用域問題解決方案

日常寫法 // 假設你寫了幾個關于某個某塊的函數 function foo1 () {...} function foo2 () {...} function foo3 () {...}出現問題:假設你的團隊中也有一個人定義了foo1函數,那么你寫的將會覆蓋以前的函數,或者會被覆蓋掉.若前面使用let聲明了foo1變量.將會報錯. 解決污染 你…

solr7.4 安裝與使用

1.solr7環境要求 solr7需要java8環境&#xff0c;且需要在環境變量中添加 JAVA_HOME變量。 2.solr 安裝 下載地址 https://lucene.apache.org/solr/mirrors-solr-latest-redir.html 我下載為7.4版本 在solr5以前solr的啟動都有tomcat作為容器&#xff0c;但是從solr5以后solr內…

初入HTML5

在最開始接觸HTML5的時候&#xff0c;你會遇到的大多是一些常見常用的屬性以及屬性值。它們分類廣、品種雜且使用率高。到css各種樣式的時候&#xff0c;你會接觸到更多的東西&#xff0c;各種屬性、選擇器、盒子模型都是重點。那么&#xff0c;現在我們就看一下它們到底是什么…

javascript --- 讓函數的實例可以鏈式調用

關鍵: 在每個函數的末尾加上 return thisthis:在javascript中表示當前的對象 栗如: 有以下函數 var fooObj {foo1: function() {console.log(1);},foo2: function() {console.log(2);},foo3: function() {console.log(3);} }// 你想通過 fooObj.foo1().foo2().foo3() // …

ReactiveCocoa基礎

本文轉載自最快讓你上手ReactiveCocoa之基礎篇&#xff0c;在此基礎上稍作修改&#xff0c;歡迎交流。 有關對 ReactiveCocoa 的看法可以看一下唐巧的這篇ReactiveCocoa 討論會 ReactiveCocoa思維導圖ReactiveCocoa簡介 ReactiveCocoa&#xff08;簡稱為RAC&#xff09;,是由Gi…

javascript --- 創建一個二維數組

想創建一個 n*n 的矩陣,并全部賦予初始值false 你可能會想到下面 let arr []; for(let i 0 ;i< n;i) {arr[i] [];for( let j 0; j< n; j){arr[i][j] false;} }稍微封裝一下: function Cmatrix(n, c) {let arr [];for (let i 0; i < n; i) {arr[i] [];for (le…

配置OpenCV產生flann\logger.h(66): error C4996: ‘fopen': This function or variable may be unsafe問題

轉載自&#xff1a;http://guoming.me/%E9%85%8D%E7%BD%AEopencv%E4%BA%A7%E7%94%9Fflannlogger-h66-error-c4996-fopen-this-function-or-variable-may-be-unsafe%E9%97%AE%E9%A2%98 今天使用vs2012配置OpenCV編譯出現問題: 1>—— 已啟動生成: 項目: Win32ForOpenCV245, 配…