常用js简写小技巧

  1. 字符串重复N次: repeatES2015
'123'.repeat(2);//"123123"

ps:需要给女朋友发100遍道歉的时候?嘿嘿……

'sorry\n'.repeat(100);
  1. 指数幂:**ES2016
    以前一直用Math.pow()方法来得到一个数字的幂,现在可以使用双星号 **啦~
2**3; // 8
  1. 获取字符串中的字符:像数组一样用下标索引
'test'[0]//'t'
  1. 深拷贝:JSON.parse(JSON.stringify(obj)) or 解构
let obj = {x: 20, y: {z: 30}};
const cloneObj = JSON.parse(JSON.stringify(obj));
//不能包含的属性值举例
//obj = {x: 20, y: {z:function(){}}};
//obj = {x: 20, y: {z: undefined}};
//obj = {x: 20, y: {z: NaN}};
//obj = {x: 20, y: {z: new Date()}};

注意:

  • obj中不能包含函数和undefined,会被移除
  • obj中不能包含NaN,会被转换成null
  • obj中不能包含日期值,会被转换成日期字符串,少了8小时

obj中没有子级对象时,可以用 解构(即:有子级对象表示浅拷贝,拷贝的是这个值的引用)。

let obj = {x: 20, y: 60};
const cloneObj ={...obj};
附录文档

推荐阅读更多精彩内容