曾经我一度在寻找JS的替代语言,尝试过CoffeeScript
/TypeScript
/Dart
(都是浅尝)。不为何缘由,而是当你写的越多的JS,越以为JS不少时候显得很操蛋。好在ES2015
和Babel
出来了,也让我终止了寻找替代方案,安心的停留在了JavaScript
自己。javascript
我并无很是丰厚的多语言编程经验,但也有一丝想法,对于JavaScript
来讲。java
Array
增长first
和last
方法let arr = [1, 2, 3]; arr.first(); //1 arr.last(); //3
固然用arr[0]
和arr[arr.length-1]
也可以实现相同的效果,不过方案显得不够优雅编程
[n...m]
快速生成从n
到m
的数字数组(可用于简洁的循环)let arr = [0...9]; //等同于 let arr2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; [0...9].map(n => console.log(n));
Object.isSet
,这样就没必要去作嵌套式的判断语句了,也不用担忧抛出异常let a = {}; if (Object.isSet(a.b.c.d)) { //如今a.b.c.d可以安全的调用 } //如今只能这样判断.d可否被安全调用 if (a && a.b && a.b.c && a.b.c.d) { //如今a.b.c.d可以被安全的调用 }
Date
对象的toString
方法提供输出指定格式的日期时间字符串let d = new Date(); d.toString('yyyy-MM-dd'); //2016-01-01 //hh 12小时制 HH 24小时制 d.toString('hh:mm:ss'); //09:21:12 d.toString('HH:mm:ss'); //21:21:12
Date
对象提供对年、月、日、分、秒的增减方法let d = new Date(); //2016-01-01 09:20:20 d.years(1); //2017-01-01 09:20:20 d.years(-1); //2015-01-01 09:20:20 d.months(1); //2016-02-01 09:20:20 d.months(-1); //2015-12-01 09:20:20 d.days(1); //2016-01-02 09:20:20 d.days(-1); //2015-12-31 09:20:20 d.minutes(1); //2016-01-01 09:21:20 d.minutes(-1); //2016-01-01 09:19:20 d.seconds(1); //2016-01-01 09:20:21 d.seconds(-1); //2016-01-01 09:20:19