这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战
前言
前两篇文章对 Proxy 的使用进行了学习, 本文继续来学习 ES6 的重要的知识点: 关于对 对象的扩展
熟练使用 ES6 及更高版本对于我们在项目开发中可提高开发效率! 前面文章学习了 JavaScript 中操作数组的一些方法(Array.splice()/slice()/map()/reduce()等高阶函数), JavaScript 并不完美但是不影响其运行, 这里学习其中的一些神奇"bug"直达列表
ES6 - 对象的扩展-属性简写
前文对 JavaScript 中的重要数据结构 数组 的 ES6 的相关扩展进行了学习. 那 ES6 对于另一个重要的数据结构 对象也同样进行重大升级, 许多扩展更加方便地帮助我们处理对象类型的数据.
而 ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法. 这样就是特别方便特别简洁的, 不仅加快码字速度, 也提高了美观度:
const str = '小阿天'
// ES6 之前普通书写:
const obj = { str: str }
// 使用ES6 属性简写:
const obj = { str }
obj // {str: "小阿天"}
Vue 中的 对象属性简写
不知道你有没有发现, 对于 Vue 中的 JS 书写方式: 比如 data(){}, methods: { fn(){} } 等
export default {
name: "App",
components: { myComponent },
data() {
return {
date: new Date(),
isShow: false,
};
},
methods: {
showDrawer() {
this.isShow = !this.isShow;
},
showInnerDrawer() {
this.innerShow = !this.innerShow;
},
changeIcon(e) {
console.log("e", typeof e.target.className);
e.target.className = "ivu-icon iconfont icon-crmdaohangicon-18";
},
},
};
在 Vue3 中用到的数据 在 setup(){} 都要 return{}, 这不论是函数 还是变量, 使用简写就特别方便了.
export default defineComponent({
name: 'Signup',
components: {
ValidateForm,
ValidateInput
},
setup () {
const formData = reactive({
email: '',
nickName: '',
password: '',
repeatPassword: ''
})
// 返回数据 formData 简写:
return {
formData,
onFormSubmit,
emailRules,
nameRules,
passwordRules,
repeatPasswordRules
}
}
})
相关阅读文章列表
- JavaScript 学习-函数剩余参数
- JS 小问题学习-函数可选参数
- JS 学习-for 循环
- JS 不完美亦可运行-自动加分号(
;)问题、 - JS 不完美亦可运行-数组对象相加问题、
- JS 并不完美之箭头函数相关(二)、
- JS 并不完美~(一)浮点数
- JavaScript 高阶函数(一)
- JavaScript 高阶函数之 reduce
- 数组扁平化 Array.prototype.flat()
- 灵活操作数组数据 slice()
- 灵活操作数组-数组中间插入数据 splice()
学习 ES6系列:
- ES6-解构赋值
- ES6-数组扩展方法-find()/findIndex()
- ES6-数组扩展方法-Array.from()处理数组
- ES6 学习理解-Array 扩展方法 includes()
- ES6 学习理解-Array 扩展 sort()排序的稳定性
- ES6 学习理解-Proxy(一)
- ES6 学习理解-Proxy(二)