摘要:前言沒有規(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實現(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來實現(xiàn)多繼承,不過call/apply方法都屬于奇技淫巧,不推薦使用了),實際上在js中多繼承的應用場景并不多見
模塊的書寫, 類似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入門》
其他細節(jié)待補充
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80212.html
摘要:前言沒有規(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)一用反...
摘要:前言沒有規(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)一用反...
摘要:任何數(shù)據(jù)結(jié)構(gòu)只要部署接口,就可以完成遍歷操作即依次處理該數(shù)據(jù)結(jié)構(gòu)的成員。的遍歷某個數(shù)據(jù)結(jié)構(gòu)過程是這樣的比如對進行遍歷創(chuàng)建一個指針對象,指向當前數(shù)組的起始位置。 Iterator 這真是毅種循環(huán) Iterator不是array,也不是set,不是map, 它不是一個實體,而是一種訪問機制,是一個用來訪問某個對象的接口規(guī)范,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機制。任何數(shù)據(jù)結(jié)構(gòu)只要部署Ite...
摘要:任何數(shù)據(jù)結(jié)構(gòu)只要部署接口,就可以完成遍歷操作即依次處理該數(shù)據(jù)結(jié)構(gòu)的成員。的遍歷某個數(shù)據(jù)結(jié)構(gòu)過程是這樣的比如對進行遍歷創(chuàng)建一個指針對象,指向當前數(shù)組的起始位置。 Iterator 這真是毅種循環(huán) Iterator不是array,也不是set,不是map, 它不是一個實體,而是一種訪問機制,是一個用來訪問某個對象的接口規(guī)范,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機制。任何數(shù)據(jù)結(jié)構(gòu)只要部署Ite...
閱讀 3458·2023-04-26 01:45
閱讀 2247·2021-11-23 09:51
閱讀 3649·2021-10-18 13:29
閱讀 3446·2021-09-07 10:12
閱讀 710·2021-08-27 16:24
閱讀 1781·2019-08-30 15:44
閱讀 2202·2019-08-30 15:43
閱讀 2960·2019-08-30 13:11