关于ES6的六个小特性(二)
发布时间 - 2026-01-10 23:10:01 点击率:次前言

Javascript 团体的每个人都喜欢新的API,语法更新以及特性,它们提供了更好的,更智能,更有效的方式以完成重要的任务。
继上一篇的 《简单谈谈ES6的六个小特性》,这次我再分享6个可以减少代码和最大化效率的方法。
1.Object Shorthand
新的对象声明方法允许我们可以不声明对象的 key :
var x = 12;
var y = yes;
var z = {one:'1',two:'2'};
// The old way
var obj = {
x:x,
y:y,
z:z
}
// The new way
var obj = {x,y,z};
2.Method Properties
避免 function 关键字声明函数:
var davidwalsh = {
makeItHappen(param){
// do stuff
}
}
必须承认去除掉 function 关键字确实使代码简洁、更好维护。
3.Blocks vs Immediately Executed Functions
下面创建立即执行方法的模式有点难看:
(function(){
// do stuff
})();
通过ES6我们可以通过 {} 和 let 来创建块级作用于,完成立即执行函数的作用:
{
let j = 12;
let divs = document.querySelectorAll('div');
// do stuff
}
j; // ReferenceError: j is not defined...
如果在 Block 内部声明函数,它将会被外部访问到。但你如果使用 let 关键字声明函数自变量,将不使用括号的情况下实现 IEF 的功能。
4. for loops and let
因为在JS里面会存在变量提升,我们经常会在作用域前面声明一些”无用”的迭代变量,例如(for var x = …)。ES6 使用 let 解决了此恼人的问题:
for(let x = 0; x < len; i++){
//do stuff
}
x; // ReferenceError: x is not defined
不久以后 let 会被应用的更多。
5.get and set for Classes
class Cart{
constructor(total){
this._total = total;
}
get total(){return this._total;}
set total(v){this._total = Number(v);}
}
var cart = new Cart(100);
cart.total // 100
能为属性设置 get、set 是这部分最棒的。不需要使用函数来进行特殊的设定–当执行 obj.prop = {value} 时,一切都会自动执行。
6.startsWith,endsWith and includes
"MooTools".startsWith("Moo"); // true;
"MooTools".startsWith("moo"); // false;
"MooTools".endsWith("Tools"); // true;
"MooTools".includes("oo"); // true;
注:includes 方法兼容性还是很多,曾有一个线上bug,就是因为不支持此方法导致的。
原文:https://davidwalsh.name/es6-features-ii/amp
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# es6的新特性
# es6新特性
# es6特性
# ES6新特性之模块Module用法详解
# ES6新特性之解构、参数、模块和记号用法示例
# ES6中非常实用的新特性介绍
# 简单谈谈ES6的六个小特性
# ES6的新特性概览
# ES6新特性之字符串的扩展实例分析
# ES6新特性之函数的扩展实例详解
# ES6新特性之Symbol类型用法分析
# ES6(ECMAScript 6)新特性之模板字符串用法分析
# ES6新特性之变量和字符串用法示例
# ES6中module模块化开发实例浅析
# 我们可以
# 将会
# 不需要
# 每个人
# 不久以后
# 一切都
# 会在
# 这部
# 线上
# 我再
# 不支持
# 这篇文章
# 上一篇
# 但你
# 能为
# 将不
# 曾有
# 最棒
# 可以减少
# 更有效
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用VPS主机快速搭建个人网站?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
网站页面设计需要考虑到这些问题
详解Android图表 MPAndroidChart折线图
如何在阿里云虚拟主机上快速搭建个人网站?
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何自定义建站之星模板颜色并下载新样式?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
nginx修改上传文件大小限制的方法
高端建站三要素:定制模板、企业官网与响应式设计优化
青岛网站建设如何选择本地服务器?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel如何实现API版本控制_Laravel版本化API设计方案
网站建设要注意的标准 促进网站用户好感度!
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
魔方云NAT建站如何实现端口转发?
如何在Windows服务器上快速搭建网站?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Android中AutoCompleteTextView自动提示
Laravel如何实现用户密码重置功能?(完整流程代码)
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
javascript中闭包概念与用法深入理解
JavaScript模板引擎Template.js使用详解
如何快速查询网站的真实建站时间?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
在centOS 7安装mysql 5.7的详细教程
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
如何快速搭建高效简练网站?
如何在建站主机中优化服务器配置?
实例解析angularjs的filter过滤器
如何在服务器上三步完成建站并提升流量?
Laravel如何创建自定义Artisan命令?(代码示例)
如何制作一个表白网站视频,关于勇敢表白的小标题?
C++时间戳转换成日期时间的步骤和示例代码
百度浏览器如何管理插件 百度浏览器插件管理方法
历史网站制作软件,华为如何找回被删除的网站?
微信推文制作网站有哪些,怎么做微信推文,急?
Laravel安装步骤详细教程_Laravel环境搭建指南
JS中对数组元素进行增删改移的方法总结
微信小程序 闭包写法详细介绍
新三国志曹操传主线渭水交兵攻略
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何实现javascript表单验证_正则表达式有哪些实用技巧
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
三星网站视频制作教程下载,三星w23网页如何全屏?

