<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          18個(gè)編寫JavaScript代碼的技巧

          共 3842字,需瀏覽 8分鐘

           ·

          2020-12-31 19:48

          英文 |?https://medium.com/javascript-in-plain-english/18-tips-for-writing-javascript-code-like-a-hero-17ca1dc49da9
          翻譯 | web前端開發(fā)(ID:web_qdkf)

          在我多年的編程工作中,我總是優(yōu)先考慮編寫代碼的方式,不僅是為了使代碼干凈,而且還因?yàn)樗梢蕴岣咛幚硭俣龋⑶铱梢愿斓鼐帉懘a。
          寫1000行代碼與寫300行代碼不同之處在于,這對(duì)我們正在執(zhí)行的程序或腳本有很大幫助。
          編程時(shí)必須非常小心,因?yàn)樵诰哂小芭K”代碼的大型項(xiàng)目中,這可能是一個(gè)嚴(yán)重的問題。
          許多程序員批評(píng)JavaScript語言沒有像Java或C ++這樣的標(biāo)準(zhǔn)工作方式,但事實(shí)是Javascript是當(dāng)今使用的最佳語言之一。
          像React這樣的庫(kù)可以提高前端性能,而對(duì)于后端,nextJs可以提高速度,這些技術(shù)可以組合使用。
          通過學(xué)習(xí)以下技巧,將能夠幫助你改善編寫代碼的方式?;c(diǎn)時(shí)間在控制臺(tái)上練習(xí)。

          1、對(duì)常量使用“ const”而不是“ var”

          常量是永遠(yuǎn)不變的變量,以這種方式聲明變量,我們確保它們永遠(yuǎn)不變
          /* Wrong */var i = 1;/* Correct */const i = 1;

          2、對(duì)更改的變量使用“ let”代替“ var”

          讓語句聲明了塊作用域的本地變量,這個(gè)變量將發(fā)生變化:
          /* Wrong */var myVal = 1;for (var i; i < 10; i++){ myVal = 1 + i;}/* Correct */let myVal = 1;for (let i; i < 10; i++){ myVal += i}

          3、聲明對(duì)象

          快捷方式聲明對(duì)象的示例:
          /* Wrong */const myObject = new Object();/* Correct */const myObject = {};

          4、聲明數(shù)組

          聲明數(shù)組的快捷方式示例:
          /* Wrong */const myArray = new Array();/* Correct */const myArray = [];

          5、連接字符串

          連接字符串的示例非常有用:
          /* Wrong */const myStringToAdd = "world";const myString = "hello " + myStringToAdd;/* Correct */const myStringToAdd = "world";const myString = `hello ${myStringToAdd}`;

          6、使用對(duì)象方法的簡(jiǎn)寫

          對(duì)象中有用功能的示例:
          /* Wrong */const customObject = { val: 1, addVal: function () { return customObject.val + 1; }}/* Correct */const customObject = { val: 1, addVal(){ return customObject.val++ }}

          7、創(chuàng)建對(duì)象的值

          創(chuàng)建具有值的新對(duì)象的示例:
          /* Wrong */const value = 1;const myObject = { value: value}/* Correct */const value = 1;const myObject = { value}

          8、為對(duì)象分配值

          將對(duì)象值分配給另一個(gè)對(duì)象的示例:
          /* Wrong */const object1 = { val: 1, b: 2 };let object2 = { d: 3, z: 4 };object2.val = object1.val;object2.b = object1.b;/* Correct */const object1 = { val: 1, b: 2 };const object2 = { ...object1, d: 3, z: 4 }

          9、給數(shù)組賦值

          快捷方式示例在數(shù)組中分配值:
          /* Wrong */const myArray = [];myArray[myArray.length] = "hello world";/* Correct */const myArray = [];myArray.push('Hello world');

          10、串聯(lián)數(shù)組

          連接數(shù)組的示例:
          /* Wrong */const array1 = [1,2,3,4];const array2 = [5,6,7,8];const array3 = array1.concat(array2);/* Correct */const array1 = [1,2,3,4];const array2 = [5,6,7,8];const array3 = [...array1, ...array2]

          11、獲取對(duì)象的多個(gè)屬性

          使用對(duì)象參數(shù)創(chuàng)建函數(shù)的示例:
          /* Wrong */function getFullName(client){ return `${client.name} ${client.last_name}`;}/* Correct */function getFullName({name, last_name}){ return `${name} ${last_name}`;}

          12、從對(duì)象獲取值

          獲取值和創(chuàng)建變量的示例:
          /* Wrong */const object1 = { a: 1 , b: 2 };const a = object1.a;const b = object1.b;/* Correct */const object1 = { a: 1 , b: 2 };const { a, b } = object1;?

          13、創(chuàng)建功能

          快捷功能示例:
          /* Wrong */function myFunc() {}/* Wrong */const myFunc = function() {}/* Correct */const myFunct = () => {}

          14、默認(rèn)值

          在功能參數(shù)中設(shè)置默認(rèn)值的示例:
          /* Wrong */const myFunct = (a, b) => { if (!a) a = 1; if (!b) b = 1; return { a, b };}/* Correct */const myFunct = (a = 1, b = 1) => { return { a, b };}

          15、用“ reduce”代替“ forEach”和“ for”來求和

          數(shù)組的快捷方式總和的示例:
          /* Wrong */const values = [1, 2, 3, 4, 5];let total = 0;values.forEach( (n) => { total += n})/* Wrong */const values = [1, 2, 3, 4, 5];let total = 0;for (let i; i < values.length; i++){ total += values[i];}/* Correct */const values = [1, 2, 3, 4, 5];const total = values.reduce((total, num) => total + num);

          16、存在于數(shù)組中

          /* Wrong */const myArray = [{a: 1}, {a: 2}, {a: 3}];let exist = false;myArray.forEach( item => { if (item.a === 2) exist = true})/* Correct */const myArray = [{a: 1}, {a: 2}, {a: 3}];const exist = myArray.some( item => item.a == 2)

          17、布爾值的快捷方式

          /* Wrong */const a = 1;const b = 1;let isTrue = falseif (a === b) { isTrue = true}/* Correct */const a = 1;const b = 1;const isTrue = a === b

          18、值的快捷方式

          /* Wrong */const a = 5;let b;if (a === 5){ b = 3;} else { b = 2;}/* Correct */const a = 5;const b = a === 5 ? 3 : 2;

          結(jié)論

          通過這篇文章的學(xué)習(xí),你可以練習(xí)如何以更清潔的方式工作并提高處理速度。當(dāng)我發(fā)現(xiàn)有新或者更好的技巧時(shí),我會(huì)進(jìn)行改進(jìn),并與你一起來分享,同時(shí),也希望你可以將你的一些好的技巧,在留言區(qū)告訴我。
          請(qǐng)記住,如果你有任何疑問請(qǐng)告訴我,我將非常高興為你提供幫助。
          最后,感謝你的閱讀。
          本文完?

          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文无码视频在线播放 | 国产黄色免费观看 | 欧美一区免费看 | 国产精品九九九九九九九九 | 99精品在线免费视频 |