var
声明的变量在函数作用域里面会提升至顶部,在全局作用域里面会挂载到 window
对象上面。
var foo = 123 console.log(window.foo) // 123 ;(() => { console.log(bar) // undefined var bar = 456 })()
"ECMAScript6 暂时性死区 / 临时死区 / TDZ"继续阅读
var
声明的变量在函数作用域里面会提升至顶部,在全局作用域里面会挂载到 window
对象上面。
var foo = 123 console.log(window.foo) // 123 ;(() => { console.log(bar) // undefined var bar = 456 })()
"ECMAScript6 暂时性死区 / 临时死区 / TDZ"继续阅读
常规方法
const obj = { a: 1, b: 2, c: 3, [Symbol.iterator]() { let [index, values] = [0, Object.values(this)] return { next() { const done = (index >= values.length) const value = done ? undefined : values[index++] return { done, value } } } } } for (let v of obj) { console.log(v) // 1 2 3 }
"迭代器(Iterator)和生成器(Generation)"继续阅读
在一个赋值操作符左边放置一个对象字面量。
let { name, age } = { name: 'cherrie', age: '17' }
console.log(name, age) // cherrie 17
"ECMAScript6 解构赋值"继续阅读
husky + lint-staged + prettier + eslint + commitlint
git commit
, git push
。"通过 eslint stylelint htmllint 规范前端项目代码"继续阅读
组件名为多个单词,并且用连接线(-)连接,避免与 HTML 标签冲突,并且结构更加清晰。
示例:
// 反例 export default { name: 'item' } // 正例 export default { name: 'page-article-item' }
"基于 Vue 的前端开发规范"继续阅读
for...of 语句遍历可迭代对象(包括数组、Set 和 Map 结构、arguments 对象、DOM NodeList 对象、字符串等)。
"for...of 与 for...in 区别"继续阅读
then()方法的作用是Promise实例添加解决(fulfillment)和拒绝(rejection)状态的回调函数。then()方法会返回一个新的Promise实例,所以then()方法后面可以继续跟另一个then()方法进行链式调用。
"ES6 Promise对象then方法链式调用"继续阅读