首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端JS规范

    来做对象浅拷贝而不是使用 Object.assign,使用对象剩余操作符来获得一个包含确定的剩余属性的新对象 // very bad const original = { a: 1, b: 2 } const...当需要使用对象的多个属性时,请使用解构赋值,eslint: prefer-destructuring 愿意:解构可以避免创建属性的临时引用 // bad function getFullName (user...= arr[1] // good const [first, second] = arr 函数需要回传多个值时,请使用对象的解构,而不是数组的解构 原因:可以非破坏性地随时增加或者改变属性顺序 //...别忘记要显式命名表达式,而不用管名字是否是从包含的变量(通常出现在现代浏览器中或者使用 Babel 编译器的时候)中推断的。这样会消除错误调用堆栈中的任何假设。...,我们应该最大化的使用标准方法,例如优先使用 string.charAt(3) 而不是 string[3] eval() 由于 eval 方法比较 evil,所以我们约定禁止使用该方法 with() {

    5.8K10

    前端系列15集-watch,watchEffect,eventBus

    '进行中' : '未开始'}} 在上面的代码中,我们使用了两个嵌套的三元运算符来实现根据 row.status 的值显示不同的状态。...#default 缩写语法来定义插槽,并使用对象解构来获取 row 参数。...生成的 props 对象将具有与 TreeFilterProps 相同的形状,还包括额外的属性 id、label 和 multiple,如果未提供,则将设置为它们的默认值。...prettier.config.js module.exports = {  // 一行最多多少个字符  printWidth: 120,  // 指定每个缩进级别的空格数  tabWidth: 2,  // 使用制表符而不是空格缩进行...|consistent|preserve>"  quoteProps: 'as-needed',  // 在JSX中使用单引号而不是双引号  jsxSingleQuote: false,  // 多行时尽可能打印尾随逗号

    70430

    vue项目实践004

    前言 继续总结vue项目实践中的优化和思考,实践系列004,请持续关注不要掉队哦 实践问题 批量对象属性赋值 使用场景:主要是针对需要把对象的一些属性批量的赋值到另外一个对象上,然后如果你的属性很多可能要写很多赋值语句...但这里讨论的不是这种情况。...let {name,len,amount} = this.form //利用对象解构还可以支持属性名变更的情况 let {name,len:length,amount:money} = this.form...let data = {name,len,amount} //优化版本二 :可以支持批量的导入需要赋值的,对于拷贝对象,用source属性承接,而需要赋值的属性用propArr承接 //在方法中用json...如果项目中模板内容多的话,它们还是会占用一些文件体积的。例如 Element 配置该属性后,未压缩情况下文件体积减少了近 30Kb。

    92610

    ES6中也要使用好严格的代码规范,助力你写出优雅的代码

    常用约定 启用eslint 必需开启eslint检测, 且使用 standard规范检测,这样大家写出来的代码风格就可以保持一致 语法 类型规范 对于常量或不修改的变量声明使用const,对于只在当前作用域下有效的变量...,而不是数组的解构赋值。...并且,函数声明会整体提升,而函数表达式只会提升变量本身。这条规则也可以这样描述,始终使用箭头函数来代替函数表达式。...使用 ... 能明确你要传入的参数。另外 rest 参数是一个真正的数组,而 arguments 是一个类数组。...,而不是修改函数的实参 // really bad function handleThings(opts) { opts = opts || {}; } // still bad function

    81730

    花十分钟的时间武装你的代码库

    " ] } 这样配置之后,每次提交的时候,都会对要提交的文件(并不是对整个项目)进行 prettier 格式化和 eslint 检查,都通过之后,才能 commit 成功。...': 1, //禁止多次声明同一变量 'no-self-assign': 1, //禁止自我赋值 'no-unused-labels': 1, //禁用出现未使用过的标 'no-useless-escape...': 1, //禁用不必要的转义字符 'no-delete-var': 2, //禁止删除变量 'no-undef': 2, //禁用使用未声明的变量,除非它们在 /*global */...注释中被提到 'no-unused-vars': 1, //禁止出现未使用过的变量 'constructor-super': 2, //要求在构造函数中有 super() 的调用...'react/jsx-uses-react': 1, //防止反应被错误地标记为未使用 'react/jsx-uses-vars': 1, //防止在JSX中使用的变量被错误地标记为未使用

    2.8K30

    eslint 报错解决

    根据 ESLint 配置,自动修复一些可以自动修复的代码问题(如格式化、删除多余的空格、调整括号位置等)对于那些不能自动修复的问题(如逻辑错误或未定义的变量),ESLint 会输出警告或错误提示。...==),而不是宽松相等运算符(== 和 !...eslint 修复的问题一、 eslint 可自动修复的问题格式化问题:空格和缩进问题:例如,2 个空格 vs 4 个空格。行末分号:自动添加或删除缺少的分号。...变量未使用:如果有未使用的变量,ESLint 会警告2.语法错误:不匹配的括号、花括号等:如果括号没有正确关闭,ESLint 无法修复这些问题。...❌ ✅ vue/order-in-components未使用变量 ❌ ✅ no-unused-vars 代码逻辑错误 ❌

    41000

    Vue 中的响应性语法糖已废弃

    介绍 自从引入组合式 API 的概念以来,一个主要的未解决的问题就是 ref 和 reactive 到底用哪个。...reactive 存在解构丢失响应性的问题,而 ref 需要到处使用 .value 则感觉很繁琐,并且在没有类型系统的帮助时很容易漏掉 .value。...,它不是一个真实的、在运行时会调用的方法,而是用作 Vue 编译器的标记,表明最终的 count 变量需要是一个响应式变量。...let count = $ref(0) console.log(isRef($$(count))) // true $$() 也适用于已解构的 props,因为它们也是响应式的变量。...在未来的版本中删除此功能可能不太情愿,但工程师应该认真对待。 您是删除所有功能还是仅删除 ref.value 进行转换的部分?响应式 props 解构呢,它会留下来吗?

    78331

    前端编码规范

    All Rights Reserved. */ 命名 变量 驼峰命名法 私有属性变量方法 _开头 常量 全部字母大写, _分隔 函数及函数的参数 驼峰命名法 类 单词首字母大写, 类的方法及属性 驼峰命名法...a").on("click", myClickHandler);// Recommended$("#list").on("click", "a", myClickHandler); 链式写法 1.尽量使用链式写法而不是用变量缓存或者多次调用选择器方法...字符串 静态字符串使用单引号 动态字符串使用反引号 解构赋值 数组成员赋值,优先使用解构赋值 const [first, second] = [1, 2]; 函数的参数如果是对象的成员,优先使用解构赋值...如果函数返回多个值,优先使用对象的解构赋值,而不是数组的解构赋值。...来验证你的CSS代码有效性; ESlint 使用 $ npm i -g eslint $ npm i -g eslint-config-airbnb .eslintrc文件,配置ESLint。

    2K71

    Sentry 开发者贡献指南 - 前端(ReactJS生态)

    更倾向 Proptypes.arrayOf 而不是 PropTypes.array 和 PropTypes.shape 而不是 PropTypes.object 如果你使用一组重要的、定义良好的 key...测试中未定义的 theme 属性 而不是使用来自 enzyme 的 mount() ...使用这个:import {mountWithTheme} from 'sentry-test/enzyme' 以便被测组件用...作为此目标的一部分,我们避免测试实现细节,因此重构(更改实现但不是功能)不会破坏测试。 我们通常赞成用例覆盖而不是代码覆盖。 查询 尽可能使用 getBy......当您添加/删除您需要的查询时,您不必使 render 调用解构保持最新。您只需要输入 screen 并让您的编辑器的自动完成功能处理其余的工作。...变量将抛出更有用的错误消息。

    7.5K30

    鸿蒙高质量代码静态检测200条二

    代码中禁止包含未使用的表达式@typescript-eslint/no-unused-vars禁止定义未使用的变量@typescript-eslint/no-useless-constructor禁止不必要的构造函数...循环而不是标准“for”循环@typescript-eslint/prefer-function-type强制使用函数类型而不是带有签名的对象类型@typescript-eslint/prefer-includes...强制使用“includes”方法而不是“indexOf”方法@typescript-eslint/prefer-nullish-coalescing强制使用空合并运算符(??)...而不是逻辑运算符@typescript-eslint/prefer-optional-chain强制使用链式可选表达式,而不是链式逻辑与、否定逻辑或、或空对象@typescript-eslint/prefer-readonly...如果未提供全局标志,推荐使用RegExp#exec”,而不是“String#match”@typescript-eslint/prefer-string-starts-ends-with强制使用“String

    22700
    领券