成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

切圖崽的自我修養(yǎng)-[ES6] 編程風(fēng)格規(guī)范

Bryan / 2286人閱讀

摘要:前言沒有規(guī)矩不成方圓用替換來定義變量如果是常量,使用靜態(tài)字符串統(tǒng)一用單引號動態(tài)拼接成的字符串統(tǒng)一用反引號使用數(shù)組成員對變量賦值時,盡量用解構(gòu)賦值往對象里添加修改屬性時,使用,而不用松散的語法面向?qū)ο蟮膶懛ㄒ宦蓪懗傻男问?,摒棄原生的的書寫方?/p>

前言

沒有規(guī)矩 不成方圓

let替換var來定義變量. 如果是常量,使用const

靜態(tài)字符串統(tǒng)一用單引號"" , 動態(tài)拼接成的字符串統(tǒng)一用反引號``

let staticString = "This is a static string";

let d = "dynamic";
let dynamicString = `This is a $qoyqs8suu2u string`;

使用數(shù)組成員對變量賦值時,盡量用解構(gòu)賦值

let arr = [1,2,3,4];
let [arr1,arr2] = arr;
 
//arr1 =1,  arr2 = 2;

往對象里添加/修改屬性時,使用Object.assign,而不用松散的.語法

const objectA = {};
Object.assign(objectA, { attr1: 3 });

//objectA{attr1:3}

面向?qū)ο蟮膶懛ㄒ宦蓪懗?b>class的形式,摒棄原生的prototype的書寫方法

class A{
    constructor(){}
    prototypeFunA(){}
    static staticFunA(){}
    ...
}

用extends實(shí)現(xiàn)單繼承, 摒棄原生的prototype鏈書寫方法的繼承

class A{
    constructor(){}
    prototypeFunA(){}
    static staticFunA(){}
    ...
}

class B extends A{
    constructor(){
        super();
    }
}

let b = new B();     
b.prototypeFunA();
B.staticFunA();

用mixin修飾器的方式可以多繼承(es5中可以用call來實(shí)現(xiàn)多繼承,不過call/apply方法都屬于奇技淫巧,不推薦使用了),實(shí)際上在js中多繼承的應(yīng)用場景并不多見

模塊的書寫, 類似CommonJs規(guī)范. 暴露方法/屬性統(tǒng)一用export

//moduleA.js

export let name = "Xie Min"; 
export function fun1(){xxx}
export function fun1(){xxx}

//或者這樣寫        
//moduleA.js

 let name = "Xie Min"; 
 function fun1(){xxx}
 function fun1(){xxx}
 
 export{
     name,
     fun1,
     fun2,
 }

引用模塊統(tǒng)一用import,摒棄掉require . 這里特別注意,import模塊的時候路徑必須寫成相對路徑的形式, 比如要寫成 import {xx} from "./moduleA" 而不是 import {xx} from "moduleA"

//index.js

import * as moduleA from "./moduleA";

moduleA.name;    
moduleA.fun1();                        
moduleA.fun2();           

結(jié)語

部分參考自 阮一峰《ECMAScript 6入門》
其他細(xì)節(jié)待補(bǔ)充

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/111482.html

相關(guān)文章

  • 切圖崽的自我修養(yǎng)-[ES6] 編程風(fēng)格規(guī)范

    摘要:前言沒有規(guī)矩不成方圓用替換來定義變量如果是常量,使用靜態(tài)字符串統(tǒng)一用單引號動態(tài)拼接成的字符串統(tǒng)一用反引號使用數(shù)組成員對變量賦值時,盡量用解構(gòu)賦值往對象里添加修改屬性時,使用,而不用松散的語法面向?qū)ο蟮膶懛ㄒ宦蓪懗傻男问剑饤壴牡臅鴮懛椒? 前言 沒有規(guī)矩 不成方圓 用let替換var來定義變量. 如果是常量,使用const 靜態(tài)字符串統(tǒng)一用單引號 , 動態(tài)拼接成的字符串統(tǒng)一用反...

    DoINsiSt 評論0 收藏0
  • 切圖崽的自我修養(yǎng)-[ES6] 編程風(fēng)格規(guī)范

    摘要:前言沒有規(guī)矩不成方圓用替換來定義變量如果是常量,使用靜態(tài)字符串統(tǒng)一用單引號動態(tài)拼接成的字符串統(tǒng)一用反引號使用數(shù)組成員對變量賦值時,盡量用解構(gòu)賦值往對象里添加修改屬性時,使用,而不用松散的語法面向?qū)ο蟮膶懛ㄒ宦蓪懗傻男问?,摒棄原生的的書寫方? 前言 沒有規(guī)矩 不成方圓 用let替換var來定義變量. 如果是常量,使用const 靜態(tài)字符串統(tǒng)一用單引號 , 動態(tài)拼接成的字符串統(tǒng)一用反...

    godruoyi 評論0 收藏0
  • 切圖崽的自我修養(yǎng)-[ES6] 迭代器Iterator淺析

    摘要:任何數(shù)據(jù)結(jié)構(gòu)只要部署接口,就可以完成遍歷操作即依次處理該數(shù)據(jù)結(jié)構(gòu)的成員。的遍歷某個數(shù)據(jù)結(jié)構(gòu)過程是這樣的比如對進(jìn)行遍歷創(chuàng)建一個指針對象,指向當(dāng)前數(shù)組的起始位置。 Iterator 這真是毅種循環(huán) Iterator不是array,也不是set,不是map, 它不是一個實(shí)體,而是一種訪問機(jī)制,是一個用來訪問某個對象的接口規(guī)范,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。任何數(shù)據(jù)結(jié)構(gòu)只要部署Ite...

    neu 評論0 收藏0
  • 切圖崽的自我修養(yǎng)-[ES6] 迭代器Iterator淺析

    摘要:任何數(shù)據(jù)結(jié)構(gòu)只要部署接口,就可以完成遍歷操作即依次處理該數(shù)據(jù)結(jié)構(gòu)的成員。的遍歷某個數(shù)據(jù)結(jié)構(gòu)過程是這樣的比如對進(jìn)行遍歷創(chuàng)建一個指針對象,指向當(dāng)前數(shù)組的起始位置。 Iterator 這真是毅種循環(huán) Iterator不是array,也不是set,不是map, 它不是一個實(shí)體,而是一種訪問機(jī)制,是一個用來訪問某個對象的接口規(guī)范,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。任何數(shù)據(jù)結(jié)構(gòu)只要部署Ite...

    springDevBird 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<