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

一文詳解如何在項目中和平時練習中應用es6語法

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

一、關于取值

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解構賦值:

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

也可以使用:進行重命名

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的擴展運算符,數(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表達式,可以進行運算,以及引用對象屬性。

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;

可選鏈?補充:

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

七、輸入框非空判斷

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

es6空位合并運算符??

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

es6空位合并運算符??補充:

前值是null或者undefined時表達式返回后值

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

拓展:

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

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

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

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ù)默認參數(shù)

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

es6函數(shù)默認參數(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ù)不可作為構造函數(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
]
 

總結

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

相關文章

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

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

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

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

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

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

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

    JS的Form表單轉JSON格式的操作代碼

    這篇文章主要介紹了JS的Form表單轉JSON格式的操作代碼,本文通過實例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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中聚光燈及其屬性介紹小結

    three.js中聚光燈及其屬性介紹小結

    本文主要介紹了three.js中聚光燈及其屬性介紹小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    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,下面這篇文章主要給大家介紹了關于JavaScript新增兩個原始數(shù)據(jù)類型(Record和Tuple)的相關資料,需要的朋友可以參考下
    2022-03-03
  • bootstrap導航欄、下拉菜單、表單的簡單應用實例解析

    bootstrap導航欄、下拉菜單、表單的簡單應用實例解析

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

最新評論

收藏| 西乌珠穆沁旗| 包头市| 大新县| 灵山县| 富源县| 诸城市| 阿图什市| 洪泽县| 龙岩市| 黑河市| 东兰县| 三穗县| 卢湾区| 沾化县| 镇赉县| 漳浦县| 家居| 卢龙县| 盐城市| 习水县| 江安县| 元阳县| 北票市| 庄河市| 济宁市| 杨浦区| 交口县| 银川市| 深州市| 宁强县| 黄山市| 饶河县| 墨竹工卡县| 抚顺县| 米林县| 夏邑县| 汾阳市| 永川市| 平乐县| 四平市|