最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文詳解如何在項目中和平時練習(xí)中應(yīng)用es6語法

 更新時間:2022年11月10日 12:08:38   作者:Cirrod  
ES6是JavaScript的一個版本,因為我們前面用到的vue默認(rèn)使用ES6語法開發(fā),所以我們在這一節(jié)補(bǔ)充ES6的知識點,下面這篇文章主要給大家介紹了關(guān)于如何在項目中和平時練習(xí)中應(yīng)用es6語法的相關(guān)資料,需要的朋友可以參考下

一、關(guān)于取值

const obj = {
    a:1,
    b:2,
    c:3,
    d:4,
    e:5,
}
 
const a = obj.a;
const b = obj.b;
const c = obj.c;
const d = obj.d;
const e = obj.e;

es6解構(gòu)賦值:

const {a,b,c,d,e} = obj;

也可以使用:進(jìn)行重命名

const {a:a1} = obj;
console.log(a1)

二、數(shù)組和對象的合并

const a = [1,2,3];
const b = [1,5,6];
const c = a.concat(b);//[1,2,3,1,5,6]
 
const obj1 = {
  a:1,
}
const obj2 = {
  b:1,
}
const obj = Object.assign({}, obj1, obj2);//{a:1,b:1}

es6的擴(kuò)展運(yùn)算符,數(shù)組的合去重

const a = [1,2,3];
const b = [1,5,6];
const c = [...new Set([...a,...b])];//[1,2,3,5,6]
 
const obj1 = {
  a:1,
}
const obj2 = {
  b:1,
}
const obj = {...obj1,...obj2};//{a:1,b:1}

三、字符串拼接

const name = '小明';
const score = 59;
let result = '';
if(score > 60){
  result = `${name}的考試成績及格`; 
}else{
  result = `${name}的考試成績不及格`; 
}

es6模板字符串

${}中可以放入任意的JavaScript表達(dá)式,可以進(jìn)行運(yùn)算,以及引用對象屬性。

const name = '小明';
const score = 59;
const result = `${name}${score > 60?'的考試成績及格':'的考試成績不及格'}`;

四、if條件多

if(
    type == 1 ||
    type == 2 ||
    type == 3 ||
    type == 4 ||
){
   //...
}

es6數(shù)組方法includes

const condition = [1,2,3,4];
 
if( condition.includes(type) ){
   //...
}

五、精確搜索

const a = [1,2,3,4,5];
const result = a.filter( 
  item =>{
    return item === 3
  }
)

es6數(shù)組find方法,性能優(yōu)化,find方法中找到符合條件的項,就不會繼續(xù)遍歷數(shù)組。

const a = [1,2,3,4,5];
const result = a.find( 
  item =>{
    return item === 3
  }
)

六、獲取對象屬性值

const name = obj && obj.name;

es6可選鏈?

const name = obj?.name;

可選鏈?補(bǔ)充:

會在嘗試訪問obj.name之前確定obj既不是null也不是undefined,如果obj是null或者undefined表達(dá)式會進(jìn)行短路計算直接返回undefined

七、輸入框非空判斷

if(value !== null && value !== undefined && value !== ''){
    //...
}

es6空位合并運(yùn)算符??

if((value??'') !== ''){
  //...
}

es6空位合并運(yùn)算符??補(bǔ)充:

前值是null或者undefined時表達(dá)式返回后值

const a = 0 ?? '默認(rèn)值a';
cosnt b = null ?? '默認(rèn)值b';
 
console.log(a); // "0"  0是假值,但不是 null 或者 undefined
console.log(b); // "默認(rèn)值b"

拓展:

變量賦默認(rèn)值一般使用邏輯或操作符 || 。但是由于 || 是一個布爾邏輯運(yùn)算符,左側(cè)的操作數(shù)會被強(qiáng)制轉(zhuǎn)換成布爾值用于求值。任何假值(0, '', NaN, null, undefined)都不會被返回。這導(dǎo)致如果你使用0''NaN作為有效值,就會出現(xiàn)不可預(yù)料的后果。這也是 ?? 操作符可以解決這個問題

const a = 0;
const b = a || 5
 
 
//當(dāng)0作為有效值,與我們期望的 b 的值不一致
console.log(b); // 5

八、異步函數(shù)回調(diào)

const fn1 = () =>{
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(1);
    }, 300);
  });
}
const fn2 = () =>{
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(2);
    }, 600);
  });
}
const fn = () =>{
   fn1().then(res1 =>{
      console.log(res1);// 1
      fn2().then(res2 =>{
        console.log(res2)
      })
   })
}

es6的async和await

const fn = async () =>{
  const res1 = await fn1();
  const res2 = await fn2();
  console.log(res1);// 1
  console.log(res2);// 2
}

九、函數(shù)默認(rèn)參數(shù)

function fn (name, age) {
  let name = name || 'hsq'
  let age = age || 22
  console.log(name, age)
}
fn() // hsq 22

es6函數(shù)默認(rèn)參數(shù)

function fn (name = 'hsq', age = 22) {
  console.log(name, age)
}
fn() // hsq 22
fn('test', 23) // test 23

十、剩余參數(shù)

一個函數(shù),傳入?yún)?shù)的個數(shù)是不確定的,這就可以用ES6的剩余參數(shù)

function fn (name, ...params) {
  console.log(name)
  console.log(params)
}
fn ('hsq', 1, 2) // hsq [ 1, 2 ]
fn ('hsq', 1, 2, 3, 4, 5) // hsq [ 1, 2, 3, 4, 5 ]

十 一、箭頭函數(shù)

普通函數(shù)

function fn () {}
 
const fn = function () {}

es6箭頭函數(shù)

const fn = () => {}
 
// 如果只有一個參數(shù),可以省略括號
const fn = name => {}
 
// 如果函數(shù)體里只有一句return
const fn = name => {
    return 2 * name
}
// 可簡寫為
const fn = name => 2 * name
 
// 如果返回的是對象
const fn = name => ({ name: name })
 

普通函數(shù)和箭頭函數(shù)的區(qū)別: 

  • 1、箭頭函數(shù)不可作為構(gòu)造函數(shù),不能使用new
  • 2、箭頭函數(shù)沒有原型對象
  • 3、箭頭函數(shù)沒有自己的this
  • 4、箭頭函數(shù)沒有arguments對象

十二、獲取對象的鍵值

Object.keys

可以用來獲取對象的key的集合

const obj = {
  name: 'hsq',
  age: 22,
  gender: '男'
}
 
const values = Object.keys(obj)
console.log(values) // [ 'hsq', 22, '男' ]

Object.values

可以用來獲取對象的value的集合

const obj = {
  name: 'hsq',
  age: 22,
  gender: '男'
}
 
const values = Object.values(obj)
console.log(values) // [ 'hsq', 22, '男' ]

Object.entries

可以用來獲取對象的鍵值對集合

const obj = {
  name: 'hsq',
  age: 22,
  gender: '男'
}
 
const entries = Object.entries(obj)
console.log(entries) 
// [ [ 'name', 'hsq' ], [ 'age', 22 ], [ 'gender', '男' ] ]

十三、數(shù)組扁平化

Array.flat

有一個二維數(shù)組,我想讓他變成一維數(shù)組:

const arr = [1, 2, 3, [4, 5, 6]]
 
console.log(arr.flat()) // [ 1, 2, 3, 4, 5, 6 ]

還可以傳參數(shù),參數(shù)為降維的次數(shù)

const arr = [1, 2, 3, [4, 5, 6, [7, 8, 9]]]
 
console.log(arr.flat(2))
[
  1, 2, 3, 4, 5,
  6, 7, 8, 9
]

如果傳的是一個無限大的數(shù)字,那么就實現(xiàn)了多維數(shù)組(無論幾維)降為一維數(shù)組

const arr = [1, 2, 3, [4, 5, 6, [7, 8, 9, [10, 11, 12]]]]
 
console.log(arr.flat(Infinity))
[
   1,  2, 3, 4,  5,
   6,  7, 8, 9, 10,
   11, 12
]
 

總結(jié)

到此這篇關(guān)于如何在項目中和平時練習(xí)中應(yīng)用es6語法的文章就介紹到這了,更多相關(guān)項目應(yīng)用es6語法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS獲取當(dāng)前時間實例代碼(年月日時分秒)

    JS獲取當(dāng)前時間實例代碼(年月日時分秒)

    在javascript中,可以使用Date對象中的Date()方法來獲取當(dāng)前時間,下面這篇文章主要給大家介紹了關(guān)于JS獲取當(dāng)前時間(年月日時分秒)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • JS實現(xiàn)隨機(jī)顏色的3種方法與顏色格式的轉(zhuǎn)化

    JS實現(xiàn)隨機(jī)顏色的3種方法與顏色格式的轉(zhuǎn)化

    隨機(jī)顏色和顏色格式是我們在開發(fā)中經(jīng)常要用到的一個小功能,網(wǎng)上相關(guān)的資料也很多,想著有必要總結(jié)一下自己的經(jīng)驗。所以這篇文章主要介紹了JS實現(xiàn)隨機(jī)顏色的3種方法與顏色格式的轉(zhuǎn)化,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • JavaScript里四舍五入函數(shù)round用法實例

    JavaScript里四舍五入函數(shù)round用法實例

    這篇文章主要介紹了JavaScript里四舍五入函數(shù)round用法,實例分析了round函數(shù)的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • JS的Form表單轉(zhuǎn)JSON格式的操作代碼

    JS的Form表單轉(zhuǎn)JSON格式的操作代碼

    這篇文章主要介紹了JS的Form表單轉(zhuǎn)JSON格式的操作代碼,本文通過實例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • webpack自動刷新瀏覽器源碼解析

    webpack自動刷新瀏覽器源碼解析

    Webpack自動刷新瀏覽器是一項非常實用的功能,它可以讓開發(fā)者在編輯代碼時,自動更新瀏覽器,從而節(jié)省大量的時間。那么它是如何實現(xiàn)的呢?
    2023-02-02
  • javascript實現(xiàn)div的顯示和隱藏的小例子

    javascript實現(xiàn)div的顯示和隱藏的小例子

    這篇文章介紹了在JS中實現(xiàn)DIV顯示和隱藏的實例,需要的朋友可以參考一下
    2013-06-06
  • three.js中聚光燈及其屬性介紹小結(jié)

    three.js中聚光燈及其屬性介紹小結(jié)

    本文主要介紹了three.js中聚光燈及其屬性介紹小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • js實現(xiàn)DIV的一些簡單控制

    js實現(xiàn)DIV的一些簡單控制

    js實現(xiàn)DIV的一些簡單控制...
    2007-06-06
  • JavaScript新增的兩個原始數(shù)據(jù)類型詳解(Record和Tuple)

    JavaScript新增的兩個原始數(shù)據(jù)類型詳解(Record和Tuple)

    js中原始數(shù)據(jù)類型有Number、String、Boolean、Null、Undefined、Symbol (ES6引入的數(shù)據(jù)類型),引用的數(shù)據(jù)類型有Object,Array,Function,下面這篇文章主要給大家介紹了關(guān)于JavaScript新增兩個原始數(shù)據(jù)類型(Record和Tuple)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • bootstrap導(dǎo)航欄、下拉菜單、表單的簡單應(yīng)用實例解析

    bootstrap導(dǎo)航欄、下拉菜單、表單的簡單應(yīng)用實例解析

    這篇文章主要介紹了bootstrap導(dǎo)航欄、下拉菜單、表單的簡單應(yīng)用實例解析,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-01-01

最新評論

巩留县| 江永县| 阿拉善左旗| 台前县| 河津市| 鹤壁市| 巴林左旗| 株洲市| 日照市| 大方县| 买车| 龙泉市| 民勤县| 张家港市| 鹤壁市| 辰溪县| 明水县| 双鸭山市| 松潘县| 伊吾县| 个旧市| 广汉市| 和田县| 黄梅县| 陇川县| 鲁甸县| 张掖市| 枣庄市| 洪江市| 福州市| 永登县| 克什克腾旗| 霸州市| 神木县| 田阳县| 虹口区| 鹤岗市| 洛扎县| 寻乌县| 威远县| 五大连池市|