摘要:前言沒有規(guī)矩不成方圓用替換來定義變量如果是常量,使用靜態(tài)字符串統(tǒng)一用單引號(hào)動(dòng)態(tài)拼接成的字符串統(tǒng)一用反引號(hào)使用數(shù)組成員對(duì)變量賦值時(shí),盡量用解構(gòu)賦值往對(duì)象里添加修改屬性時(shí),使用,而不用松散的語法面向?qū)ο蟮膶懛ㄒ宦蓪懗傻男问?,摒棄原生的的書寫方?/p>
前言
沒有規(guī)矩 不成方圓
用let替換var來定義變量. 如果是常量,使用const
靜態(tài)字符串統(tǒng)一用單引號(hào)"" , 動(dòng)態(tài)拼接成的字符串統(tǒng)一用反引號(hào)``
let staticString = "This is a static string"; let d = "dynamic"; let dynamicString = `This is a $qoyqs8suu2u string`;
使用數(shù)組成員對(duì)變量賦值時(shí),盡量用解構(gòu)賦值
let arr = [1,2,3,4]; let [arr1,arr2] = arr; //arr1 =1, arr2 = 2;
往對(duì)象里添加/修改屬性時(shí),使用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)用場(chǎ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模塊的時(shí)候路徑必須寫成相對(duì)路徑的形式, 比如要寫成 import {xx} from "./moduleA" 而不是 import {xx} from "moduleA"
//index.js import * as moduleA from "./moduleA"; moduleA.name; moduleA.fun1(); moduleA.fun2();
部分參考自 阮一峰《ECMAScript 6入門》
其他細(xì)節(jié)待補(bǔ)充
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/50010.html
摘要:前言沒有規(guī)矩不成方圓用替換來定義變量如果是常量,使用靜態(tài)字符串統(tǒng)一用單引號(hào)動(dòng)態(tài)拼接成的字符串統(tǒng)一用反引號(hào)使用數(shù)組成員對(duì)變量賦值時(shí),盡量用解構(gòu)賦值往對(duì)象里添加修改屬性時(shí),使用,而不用松散的語法面向?qū)ο蟮膶懛ㄒ宦蓪懗傻男问?,摒棄原生的的書寫方? 前言 沒有規(guī)矩 不成方圓 用let替換var來定義變量. 如果是常量,使用const 靜態(tài)字符串統(tǒng)一用單引號(hào) , 動(dòng)態(tài)拼接成的字符串統(tǒng)一用反...
摘要:前言沒有規(guī)矩不成方圓用替換來定義變量如果是常量,使用靜態(tài)字符串統(tǒng)一用單引號(hào)動(dòng)態(tài)拼接成的字符串統(tǒng)一用反引號(hào)使用數(shù)組成員對(duì)變量賦值時(shí),盡量用解構(gòu)賦值往對(duì)象里添加修改屬性時(shí),使用,而不用松散的語法面向?qū)ο蟮膶懛ㄒ宦蓪懗傻男问?,摒棄原生的的書寫方? 前言 沒有規(guī)矩 不成方圓 用let替換var來定義變量. 如果是常量,使用const 靜態(tài)字符串統(tǒng)一用單引號(hào) , 動(dòng)態(tài)拼接成的字符串統(tǒng)一用反...
摘要:任何數(shù)據(jù)結(jié)構(gòu)只要部署接口,就可以完成遍歷操作即依次處理該數(shù)據(jù)結(jié)構(gòu)的成員。的遍歷某個(gè)數(shù)據(jù)結(jié)構(gòu)過程是這樣的比如對(duì)進(jìn)行遍歷創(chuàng)建一個(gè)指針對(duì)象,指向當(dāng)前數(shù)組的起始位置。 Iterator 這真是毅種循環(huán) Iterator不是array,也不是set,不是map, 它不是一個(gè)實(shí)體,而是一種訪問機(jī)制,是一個(gè)用來訪問某個(gè)對(duì)象的接口規(guī)范,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。任何數(shù)據(jù)結(jié)構(gòu)只要部署Ite...
摘要:任何數(shù)據(jù)結(jié)構(gòu)只要部署接口,就可以完成遍歷操作即依次處理該數(shù)據(jù)結(jié)構(gòu)的成員。的遍歷某個(gè)數(shù)據(jù)結(jié)構(gòu)過程是這樣的比如對(duì)進(jìn)行遍歷創(chuàng)建一個(gè)指針對(duì)象,指向當(dāng)前數(shù)組的起始位置。 Iterator 這真是毅種循環(huán) Iterator不是array,也不是set,不是map, 它不是一個(gè)實(shí)體,而是一種訪問機(jī)制,是一個(gè)用來訪問某個(gè)對(duì)象的接口規(guī)范,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。任何數(shù)據(jù)結(jié)構(gòu)只要部署Ite...
閱讀 3876·2021-09-29 09:34
閱讀 3790·2021-09-27 13:34
閱讀 583·2021-09-24 09:47
閱讀 3047·2019-08-30 15:53
閱讀 1825·2019-08-26 13:54
閱讀 2097·2019-08-26 13:43
閱讀 547·2019-08-23 14:47
閱讀 1755·2019-08-23 14:28