中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6的使用技巧有哪些

發布時間:2022-06-07 09:20:16 來源:億速云 閱讀:144 作者:zzz 欄目:開發技術

這篇文章主要介紹“ES6的使用技巧有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“ES6的使用技巧有哪些”文章能幫助大家解決問題。

    前言:

    ECMAScript 6(簡稱ES6)是于2015年6月正式發布的JavaScript語言的標準,正式名為ECMAScript 2015(ES2015)。它的目標是使得JavaScript語言可以用來編寫復雜的大型應用程序,成為企業級開發語言  。

    另外,一些情況下ES6也泛指ES2015及之后的新增特性,雖然之后的版本應當稱為ES7、ES8等

    ES6的使用技巧有哪些

    1.打亂數組順序

    let arr = ['????', 67, true, false, '55']
    arr = arr.sort(() => 0.5 - Math.random())
    console.log(arr)
    // [ '????', '55', 67, false, true ]

    2.刪除數字之外的所有字符

    const str = 'xieyezi 23213 is 95994 so hansome 223333'
    const numbers = str.replace(/\D/g, '')
    console.log(numbers)
    // 2321395994223333

    3.反轉字符串或者單詞

    const sentence = 'xieyezi js so handsome, lol.'
    const reverseSentence = reverseBySeparator(sentence, "")
    console.log(reverseSentence);
    // .lol ,emosdnah os sj izeyeix
    
    const reverseEachWord = reverseBySeparator(reverseSentence, " ")
    console.log(reverseEachWord)
    // izeyeix sj os ,emosdnah .lol
    
    function reverseBySeparator(string, separator) {
      return string.split(separator).reverse().join(separator)
    }

    4.將十進制轉換為二進制文件或十六進制數

    const num = 45
    num.toString(2)
    num.tostring(16)

    5.合并多個對象

    const city = {
      name: 'Chongqing',
      population: '1,234,567,890'
    }
    const location = {
      longitude: '116.4',
      latitude: '39.9'
    }
    const fullCity = { ...city, ...location }
    console.log(fullCity)
    // {
    //   name: 'Chongqing',
    //   population: '1,234,567,890',
    //   longitude: '116.4',
    //   latitude: '39.9'
    // }

    6.=== 和 == 的區別

    // ==   ->  類型轉換 (淺比較)
    // ===  ->  無類型轉換 (嚴格比較)
    
    0 == false // true
    0 === false // false
    1 == "1" // true
    1 === "1" // false
    null == undefined // true
    null === undefined // false

    7.解構賦值

    const forest = {
      location: 'Sweden',
      animals: 3,
      animalsTypes: ['Lions', 'Tigers', 'Bears'],
    };
    
    const { location, animals, animalsTypes } = forest;
    const [lions, tigers, bears] = animalsTypes;
    
    console.log(location); // Sweden
    console.log(animals); // 3
    console.log(lions); // Lions
    console.log(tigers); // Tigers
    console.log(bears); // Bears

    8.交換變量的值

    let bears = 'bears'
    let tigers = 'tigers'
    [bears, tigers] = [tigers, bears]
    console.log(bears) // tigers
    console.log(tribes) // bears

    9.字符串

    9.1判斷回文字符串

    const isRevervse = (str1, str2) => {
      const normalize = (str) =>
        str.toLowerCase()
        .normalize('NFD')
        .split('')
        .reverse()
        .join('')
      return normalize(str1) === str2
    }
    console.log(isRevervse('anagram', 'margana')) // true
    console.log(isRevervse('rac', 'car')) // true

    回文字符串: 正著寫和反著寫都一樣的字符串)

    9.2判斷兩個字符串是否為互相排列

    const isAnagram = (str1, str2) => {
      const normalize = (str) =>
        str.toLowerCase()
        .normalize('NFD')
        .split('')
        .sort()
        .join('')
      return normalize(str1) === normalize(str2)
    }
    console.log(isAnagram('anagram', 'nagaram')) // true
    console.log(isAnagram('rat', 'car')) // false
    console.log(isAnagram('heArT', 'traEH')) // true

    判斷兩個字符串是否為互相排列: 給定兩個字符串,一個是否是另一個的排列

    10.可選鏈操作符

    const player = {
      name: 'xieyezi',
      rating: 1000,
      click: () => {
        return 'click'
      },
      pass: (teammate) => {
        return `Pass to ${teammate}`
      },
    }
    console.log(player?.name) // xieyezi
    console.log(player?.click?.()) // click
    console.log(player?.teammate?.()) // undefined

    11.三目運算符

    // condition ? expression if true : expression if false
    const oxygen = 10
    const diver = (oxygen < 10 ) ? 'Low oxygen' : 'High oxygen'
    console.log(diver) // High oxygen

    12.從數組中隨機選擇一個值

    const elements = [24, 'You', 777, 'breaking', 99, 'full']
    const random = (arr) => arr[Math.floor(Math.random() * arr.length)]
    const randomElement = random(elements)
    console.log(randomElement) // 777

    13.凍結對象

    const octopus = {
      tentacles: 8,
      color: 'blue',
    }
    Object.freeze(octopus)
    octopus.tentacles = 10 // Error, 不會改變
    console.log(octopus) // { tentacles: 8, color: 'blue'}

    14.刪除數組重復的元素

    const animals = ['bears', 'lions', 'tigers', 'bears', 'lions']
    const unique = (arr) => [...new Set(arr)]
    
    console.log(unique(animals)) // [ 'bears', 'lions', 'tigers' ]

    15.保留指定位小數

    const num = 0.123456789
    const fixed2 = num.toFixed(2)
    const fixed3 = num.toFixed(3)
    
    console.log(fixed2) // 0.12
    console.log(fixed3) // 0.123

    16.清空數組

    const numbers = [1, 2, 3, 4, 5]
    numbers.length = 0
    
    console.log(numbers) // []

    17.從 RGB 轉換為 HEX

    const rgbToHex = (r, g, b) => {
      const toHex = (num) => {
        const hex = num.toString(16)
        return hex.length === 1 ? `0${hex}` : hex
      }
      return `#${toHex(r)}${toHex(g)}${toHex(b)}`
    }
    console.log(rgbToHex(46, 32, 67)) // #2e2043

    18.從數組中獲取最大值和最小值

    const nums = [1, 2, 3, 4, 5, -3, 99, -45, -1]
    const max = Math.max(...nums)
    const min = Math.min(...nums)
    console.log(max) // 99
    console.log(min) // -45

    19.空值合并運算符

    const nullval = null
    cost emptyString = ''
    const someNum = 13
    
    const a = nullval ?? 'A default'
    const b = emptyString ?? 'B default'
    const c = SomeNum ?? 'C default'
    
    console.log(a) // A default
    console.log(b) // '' // empty string != undefined or null
    console.log(c) // 13

    20.過濾數組中值為 false 的值

    const nums = [1, 0 , undefined, null, false];
    const truthyNums = nums.filter(Boolean);
    console.log(truthyNums) // [1]

    關于“ES6的使用技巧有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    es6
    AI

    昌图县| 沁阳市| 三门县| 嵩明县| 额敏县| 高阳县| 偏关县| 麟游县| 电白县| 溧阳市| 静宁县| 遂川县| 博罗县| 五峰| 调兵山市| 岐山县| 华阴市| 保德县| 枝江市| 普洱| 石家庄市| 讷河市| 齐河县| 长岛县| 田阳县| 靖边县| 名山县| 通山县| 老河口市| 婺源县| 洛阳市| 滨州市| 徐水县| 西藏| 信阳市| 右玉县| 留坝县| 梁山县| 嘉义县| 天门市| 长顺县|