前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue 中const 命令

Vue 中const 命令

作者头像
默默的成长
发布2022-10-29 16:39:45
6390
发布2022-10-29 16:39:45
举报
文章被收录于专栏:前端记录笔记前端记录笔记

const 命令

  • 请记得 const 和 let 都是块级作用域,var 是函数级作用域
代码语言:javascript
复制
// const and let only exist in the blocks they are defined in.
{
  let a = 1
  const b = 1
}
console.log(a) // ReferenceError
console.log(b) // ReferenceError

对所有引用都使用 const,不要使用 var,eslint: prefer-const, no-const-assign 原因:这样做可以确保你无法重新分配引用,以避免出现错误和难以理解的代码

代码语言:javascript
复制
// bad
var a = 1
var b = 2

// good
const a = 1
const b = 2

如果引用是可变动的,使用 let 代替 var,eslint: no-var 原因:let 是块级作用域的,而不像 var 属于函数级作用域

代码语言:javascript
复制
// bad
var count = 1
if (count < 10) {
  count += 1
}

// good
let count = 1
if (count < 10) {
  count += 1
}

对象

请使用字面量值创建对象,eslint: no-new-object

代码语言:javascript
复制
// bad
const a = new Object{}

// good
const a = {}
别使用保留字作为对象的键值,这样在 IE8 下不会运行

// bad
const a = {
  default: {},  // default 是保留字
  common: {}
}

// good
const a = {
  defaults: {},
  common: {}
}

当使用动态属性名创建对象时,请使用对象计算属性名来进行创建 原因:因为这样做就可以让你在一个地方定义所有的对象属性

代码语言:javascript
复制
function getKey(k) {
  return `a key named ${k}`
}

// bad
const obj = {
  id: 5,
  name: 'San Francisco'
};
obj[getKey('enabled')] = true

// good
const obj = {
  id: 5,
  name: 'San Francisco',
  [getKey('enabled')]: true
};

请使用对象方法的简写方式,eslint: object-shorthand

代码语言:javascript
复制
// bad
const item = {
  value: 1,

  addValue: function (val) {
    return item.value + val
  }
}

// good
const item = {
  value: 1,

  addValue (val) {
    return item.value + val
  }
}

请使用对象属性值的简写方式,eslint: object-shorthand 原因:这样更简短且描述更清楚

代码语言:javascript
复制
const job = 'FrontEnd'

// bad
const item = {
  job: job
}

// good
const item = {
  job
}

将简写的对象属性分组后统一放到对象声明的开头 原因:这样更容易区分哪些属性用了简写的方式

只对非法标识符的属性使用引号,eslint: quote-props 原因:因为通常来说我们认为这样主观上会更容易阅读,这样会带来代码高亮上的提升,同时也更容易被主流 JS 引擎优化

不要直接使用 Object.prototype 的方法, 例如 hasOwnProperty, propertyIsEnumerable 和 isPrototypeOf 方法,eslint: no-prototype-builtins 原因:这些方法可能会被对象自身的同名属性覆盖 - 比如 { hasOwnProperty: false } 或者对象可能是一个 null 对象(Object.create(null))

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • const 命令
    • 对象
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档