博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6学习笔记(五)—— 编程风格
阅读量:6075 次
发布时间:2019-06-20

本文共 1553 字,大约阅读时间需要 5 分钟。

1. 块级作用域

  • let 取代 var —— let 只在声明的代码块内有效,而且不存在变量提升的效用
  • const 取代 let —— const 比较符合函数式编程的思想,运算不改变值,只是新建值;JS 编译器会对 const 进行优化,使用 const 有利于提高程序的运行效率
  • 所有的函数都应该设置成为常量
const [a, b, c] = [1, 2, 3]

2. 字符串

静态字符串使用单引号或者反引号,动态字符串使用反引号配合 ${ }

const a = 'Monica'const b = `${a} is my good friend`

3. 解构赋值

使用数组成员对变量赋值时

cosnt [a, b] = [1, 2, 3, 4]

函数的参数是对象的成员

const getInfo = (info) => {    const { name, age } = info}const getInfo = ({ name, age }) => {    // ...}

4. 对象

单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。

const a = { k1: v1, k2: v2 }const b = {    k1: v1,    k2: v2,}

对象尽量静态化,一旦定义,就不得随意添加新的属性。如果添加属性不可避免,要使用 Object.assign() 方法。

const info = {}Object.assign(info, { name: 'wangxi' })

对象的属性和方法,尽量采用简洁表达法,这样易于描述和书写。

const userInfo = {    name,    gender: 'male',    getAge () {        return '25'    },}

5. 数组

使用扩展运算符(...)拷贝数组。

const a = [1, 2, 3, 4]const b = [...a]

使用 Array.form() 将类数组对象转化为数组。

const infoObj = { name: 'wangxi', age: 25, length: 2 }const infoArr = Array.from(infoObj)

6. 函数

立即执行函数写成箭头函数的形式。

(() => {    console.log('I am the best')})()

使用默认值语法设置函数参数的默认值。

const userInfo = (name = 'wangxi') => {    // ...}

7. Map 解构

只有模拟现实世界的实体对象时,才使用Object。如果只是需要key: value的数据结构,使用Map结构。

let map = new Map(arr)

Map 方法

  • map.keys()
  • map.values()
  • map.entries()

8. 模块

模块导入使用 import 代替 require
模块导出使用 export 代替 module.export。

如果模块只有一个输出值,就使用 export default,如果模块有多个输出值,就不使用 export default

如果模块默认输出一个函数,函数名的首字母应该小写。

const userInfo = () => {    // ...}export userInfoconst UserInfo = {    // ...}export default UserInfo

 

参考: 

转载于:https://www.cnblogs.com/wx1993/p/7495597.html

你可能感兴趣的文章
MHA的搭建
查看>>
LintCode 第一题fizz buzz
查看>>
5002.课件和视频下载--防火墙虚拟系统技术说明
查看>>
fragment中查看view的宽度以及单位px和dip换算
查看>>
第 5 章 网络 - 031 - none和host网络的适用场景
查看>>
第 5 章 Nova - 041 - Resize Instance 操作详解
查看>>
满满都是回忆:微软带你回顾XP时代的100个经典(转自远景论坛)
查看>>
起死回生:专治Linux各种“起不来”
查看>>
PPT制造精巧水晶收获组织机构图好看的ppt模板下载
查看>>
【零基础手把手教你学Python】02 与Python的第一次亲密接触——HelloWorld
查看>>
我的友情链接
查看>>
mysql数据库基础知识
查看>>
mysql中 ${param}与#{param}区别
查看>>
docker基础
查看>>
Java代码实现发送邮件
查看>>
IBM将宣布建立英国数据中心,跻身世界一流AI阵营
查看>>
电脑调整分区后分区不见的数据找回方法
查看>>
SD卡操作
查看>>
机械硬盘显示位置不可用要怎样办啊
查看>>
Apache构建虚拟Web主机
查看>>