国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

es6中的解構賦值、擴展運算符和rest參數使用詳解

2024-05-06 15:26:07
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于es6中解構賦值、擴展運算符和rest參數使用的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

es6中較為常用的書寫風格

為了書寫的方便,es6中提出了很多比較友好的書寫方式,其中最為常見的屬于以下幾個:

字符串模板 `abcdef${test}` 解構賦值 let [a, b, c] = [1, 2, 3] 擴展運算符 rest參數 ...

本文希望能夠學習其中的主要的用法,方便書寫和簡潔性。

字符串模板

在以前的日子,我們經常撿到各種類別的字符串拼接,無論是跳轉鏈接還是請求,很多時候見到這樣的代碼

let url = location.protocol + '//baidu.com/query?q=' + word +   '&qn=' + queryWord;

現在書寫的時候不需要這么多的+加好來連接,可以使用字符串模板變成這個樣子

let url = `${location.protocol}//baidu.com/query?q=${word}&qn=${queryWord}`;

寫起來還是簡便不少,有一個簡單的猜想,這個字符串模板會不會具有react、vue那樣的效果,動態的綁定數據,也就是說字符串模板的內容會跟著模板中的變量變化而變化

let m = 'test';let n = `m+:${m}`;n //"m+:test"m //"test"m += 'noTest' //改變字符串模板中的 m 的值m //"testnoTest"n //"m+:test" 

所以上面說的假想不會發生,react、vue都是存在虛擬dom來diff數據的不同,來出發數據的重新加載,以達到動態綁定的目的。

字符串模板的一些特性和注意

1、在模板字符串中如果需要使用 ` 字符的話,需要使用反斜杠轉譯 /`;

2、字符串模板可以表示多行字符串,所有的空格和縮進都會被保留在輸出之中;

let k = `one line two line 3 line`;k //輸出如下"one linetwo line3 line"

3、字符串模板的 ${} 里面可以書寫JavaScript的表達式,

四則運算

test:${1+1} //"test2"

函數

`TEST:${new Date()}` //"TEST:Wed Sep 27 2017 15:48:53 GMT+0800 (CST)"

如果大括號中的值不是字符串,將按照一般的規則轉為字符串。比如,大括號中是一個對象,將默認調用對象的toString方法

var tt = {a:1,b:2};`test:${tt}` //"test:[object Object]"tt.toString() //"[object Object]"

如果模板字符串中的變量沒有聲明,將報錯。

模板字符串甚至還能嵌套

解構賦值

ES6 允許按照一定模式,從數組和對象中提取值,對變量進行賦值,這被稱為解構(Destructuring)。解構運算可以算是一種很優雅的書寫方式,只要賦值表達式=的兩邊的模式相同的時候,左邊的變量就會被賦予右邊數組或者對象對應的值,直接看代碼:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 通州市| 太仆寺旗| 翼城县| 海伦市| 昌平区| 抚松县| 舟山市| 贺兰县| 安陆市| 东宁县| 晋江市| 张掖市| 健康| 拉萨市| 抚远县| 巫溪县| 萨嘎县| 拜城县| 遂昌县| 临西县| 西充县| 黎川县| 宁南县| 汪清县| 罗山县| 阿图什市| 渑池县| 鹿泉市| 屏边| 乌兰浩特市| 即墨市| 瑞昌市| 青阳县| 昔阳县| 勐海县| 嵊泗县| 太仓市| 定陶县| 疏附县| 澎湖县| 鄂托克前旗|