es6

es6 基础知识点

1.let /var /connst

a:var 声明变量 ,一般全局作用都是通过关键字var来声明变量.

function getValue(condition){
  if(condition){
      var value="blue";//当前value 只对这块有用
      return value;
   }else{
      //此处访问value,值是undefined
      return null
   }
}
function getValue(condition){
    var value  //value整个方法内有效
  if(condition){
      value="blue";
      return value;
   }else{
      return null
   }
}

b:let 声明,用法和var 几乎相同,但是是块级作用域

var count =30;
let count =30;//会抛出语法错误(重复声明)

c:const 声明,常用来声明常量,其值一旦被设定不可更改,且同let一样是块级作用域

总结:let const 的用法很多时候和var一样,但是在循环中使用是不一样的.在for-in和for-of循环中,let 和const 都会每次迭代时创建新绑定,从而使循环体内创建的函数可以访问到相应的迭代的值,而非最后一次迭代的值.值得一提的是一般确定的数使用const,只在确实需要改变变量的值时使用let.

2.repeat()方法,接收一个number类型的参数,表示该字符串的重复次数,返回值是当前字符串重复一定次数后的新字符串.

console.log("x".repeat(3));//"xxx"
console.log("hello".repeat(2));//"hellohello"
console.log("abc".repeat(4));//"abcabcacbabc"

3.字符串和正则表达式

1字符串
1.indexOf():在一段字符串中检测另一段字符串。【es5】
2.includes():字符串中检测到指定字符返回true,否则返回false。【es6】
3.startsWith():在字符串中起始部分检测到指定文本返回true,否则返回false。【es6】
4.endsWith():在字符串中结束部分检测到指定文本返回true,否则返回false。【es6】
2,3,4方法都可以接受两个参数

2正则表达式

var re1=/ab/i
re2=new RegExp(re1)
re2=new RegExp(re1,'g');//es5中会出错 es6不会出错
console.log(re1.test("ab"));//true
console.log(re2.test("ab"));//true
console.log(re1.test("AB");true
console.log(re1\2.test("AB");false
//i:说明大小写无关特性;

3 多行字符串的创建

var message=[
"Multiline",
"string"
].join("\n")

常用方法

1:Math.max():

let values=[25,50,75,100]
console.log(Math.max(...values))//100

2改进数组方法

a:Array of()

let items=Array of(1,2);
console.log(items.length);//2
console.log(items[0]);//1
console.log(items[1]);//2

b:Array from()

let items=Array of(1,2);
console.log(items.length);//2
console.log(items[0]);//1
console.log(items[1]);//2

c:find()与findIndex()

let numbers=[25,24,56,78,70,100];
console.log(numbers.find(n=>n>33));//56
console.log(numbers.findIndex(n=>n>33));//2
//两个方法只能定位数组中第一个比33大的数

d:fill()

let numbers=[1,2,3,4];
numbers.fill(1)
console.log(numbers);// [1, 1, 1, 1]
numbers.fill(0,1,3)
console.log(numbers);// [1, 0,0, 1]

e:copyWithin()

let numbers=[1,2,3,4];
numbers.copyWithin(2,0)
console.log(numbers);// [1, 2, 1, 2]

f:filter(),reduce(),数组对象去重
第一种:

let newConfigVolist = [{key:1,a:1},{key:1,a:2}];
 newConfigVolist = newConfigVolist.filter((item,index) => newConfigVolist.findIndex(config => config.key === item.key) === index);

第二种

let obj={}
newConfigVolist =newConfigVolist .reduce(function(item,next){
obj[next.key]?"":obj[next.key]=true&&item.push(next);
return item;
},[])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值