es6新特性

es6新特性知识点

1. let在for循环之类的里面用 在外面获不到会报错

for(i=0;i<5;i++){
let res = i;
console.log(res);    //0,1,2,3,4
}
console.log(res);    //报错res is not defined
2.const定义常量 不能改变 但是可以定义
let user ={name:"ll",age:24}
const KT =user;
user.name = 'bob';
console.log(user);
console.log(KT);

console的结果如下:


这时user中的内容可以改变,因为const的指针对应的是user内存空间的id 而不是内存中的数值

3.变量的解构赋值(数组)

let[a,b,c]=[1,2,3];
console.log(a);  //1
console.log(b);  //2
console.log(c);  //3

4.变量的解构赋值(对象)

let {a,b,c}={a:1,b:2,c:3};
let {arr:[q,{s}]}={arr:["asw",{s:'uk'}]};
console.log(a); //1
console.log(b); //2
console.log(c); //3
console.log(q); //asw
console.log(s); //uk

5.变量的解构(其他)

let {length}="ty";
console.log(length)  //结果2 获取字符串长度
5.新增字符串方法
let de="you";
de.includes('o');
console.log(de.includes('o'));    // 结果true
de.startsWith('y');
console.log(de.startsWith('y'));  //true
de.endsWith('u');
console.log(de.endsWith('u'));   //true
de.repeat(3);
console.log(de.repeat(3));       //youyouyou
6.模板字符串
let title = "中国人";
let fonts = "family";
let really = `<div>   
<span>${title}</span>
</div>`
console.log(really); //输出内容  格式保持的很完整
<div>   
<span>中国人</span>
</div>
let title = "中国人";
let fonts = "family";
let contents = `<div>   
<span>${title + `
<div>   
<span>${fonts}</span>
</div>`}
</span>
</div>`
console.log(contents); //输出内容 格式很好看 完整
<div>   
<span>中国人
<div>   
<span>family</span>
</div>
</span>
</div>

7.symbol类型

以前的数据类型 undefined null Boolean String Number Object现在新增一个数据类型 symbol
let a = Symbol();
let b = Symbol();
console.log(a === b);   //输出false
let name = Symbol();
// file1.js
{
    var person = {};
    person[name] = 'file1';
    console.log('person[name]:',person[name]); //file1
}
// file2.js
{
    let name = Symbol();
    person[name] = 'file2';
    console.log('person[name]:',person[name]);  //file2
}
console.log('person[name]:',person[name]);  //file1  若在局部变量中改变file1的值 可以在局部变量中使用 在全局中打印还是原始值
8.Proxy
var user = new Proxy({},{
    get: function(obj,prop){
        switch (prop) {
            case 'full_name':
                return obj.fname + ' ' + obj.lname; 
        } 
       
    },set: function(obj,prop) {
    
    }
})
user.fname = 'Bob';
user.lname = 'Wood';
console.log('user.full_name:',user.full_name);

9.Set

var arr = [1,2,3,3];  
var s = new Set([1,2,3,3]);  
console.log(arr); // [1,2,3,3]  
console.log(s);  // {1,2,3} 每个值都是唯一的 传入多个相同的值,只会保留一个  
s.size  //检查数组长度 
console.log(s.size); //3
s.add(4); 
console.log(s)  // {1,2,3,4} 
s.delete(2);  
console.log(s)  // {1,3,4}  
s.has(5);  
console.log(s.has(5))  //返回false  
console.log(s.has(3))  //返回true  
s.clear(); //全部清空  
console.log(s) //返回{}




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值