ES6 记录

const I_LOVE_YOU = true;  //声明静态变量即所谓的常量,一旦赋值就不可更改
let [a, b, ...c] = [1, 2,3,4,5,6];//声明多个变量
console.log("a:",a);
console.log("b:",b);
console.log("c:",c);

let obj = {
    name:'XXX',
    wifi:'XXX'
};

let {name,wifi} = obj;//将obj对象的属性赋值给变量
console.log("name:", name);
console.log("wifi:",wifi);

let {floor,pow} =Math;//可通过此方式直接调用foolr pow方法
console.log("floor(2):",floor(2));
console.log("pow(2,3):",pow(2,3));






console.log("I_LOVE_YOU.toString():",I_LOVE_YOU.toString());


let obje = {
    name: 'zhiYuan Li',
    wifi: 'ping Dai'
};

function con({name, wifi}) {
    console.log("name:", name);
    console.log("wifi:", wifi);
}

con(obje);
/**
 打印结果:
 name: zhiYuan Li
 wifi: ping Dai
 */

let obje1 = {
    wifi: 'ping Dai'
};

function con1({name = 'default', wifi}) { //将对象解构成几个参数 如果传进来的name为undefined或者不存在 则name='default'
    console.log("name:", name);
    console.log("wifi:", wifi);
}

con1(obje1);
//打印如下:
/**
 name: default
 wifi: ping Dai
 */

//将字符串分割
let [one,...a] ='yo.'; //将“yo.” 解构为数组
console.log("one:",one);  //打印 =》 one:y
console.log("a:",a); //打印 =》 a:['o','.']



let {length} = 'yo.'; //解构出字符串的长度,并赋值给length
console.log("length:",length); //打印:=》 length:3

//ES6新出的 判断字符串是不是以指定的字符串开头
console.log('yo.'.startsWith('o')); //打印:false

// 判断字符串是不是以指定的字符串结尾
console.log('yo.'.endsWith('o')); //打印:false

//判断字符串当中是否包含指定的字符/字符串  原始写法: 'yo.'.indexof('.') !== -1
console.log('yo.'.includes('.'));//打印 =》 true

//将字符串以指定数值进行重复打印
console.log('yo.'.repeat(2)); //打印 =》 yo.yo.

//ES6声明多个变量写法
let[title,info]=['测试模板字符串','模板字符串写法'];


//ES5:模板字符串写法
let tpl1 ="<div>"+title+'<span>'+info+'</span>'+'</div>';

//ES6: 用反引号 `` 即数字1旁边的按键  里面的变量需要用${变量名}的方式引入
let tpl2 = `
<div>${title}
    <span>${info}</span>
</div>
`;

console.log("tpl1:",tpl1); //打印=》 tpl1: <div>测试模板字符串<span>模板字符串写法</span></div>
console.log("tpl2:",tpl2); //
/**
 打印如下=》
 tpl2:
 <div>测试模板字符串
 <span>info</span>
 </div>
 */


let n = Symbol(); //ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。
//基本数据类型有6种:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)
let user ={
    fullName:function () {
        return this.fname + " "+ this.lname;
    },
    na:function () {
        return this.n;
    }
};
user.fname = 'zhiYuan';
user.lname = 'Li';
user.n = n;

console.log("user.fullName():",user.fullName());
console.log("user.na():", user.na());

//ES6代理模式
let user1 = new Proxy({},{
    get:function (obj,prop) { //obj即为user1对象, prop =》 对象.prop
        if (prop ==="fullName")
        return obj.fname +' '+obj.lname;
    }
});
user1.fname = 'zhiYuan';
user1.lname = 'Li';
//通过代理模式  即可通过属性名称来获取方法
console.log("user1.fullName:",user1.fullName);
console.log("user1.age:",user1.age);
console.log("user1.lname :",user1.lname = 'YYY');
console.log("user1.fullName:",user1.fullName);

//set集合 与java当中的set集合一样  不允许有重复的值
let set = new Set([user,user1]);
console.log("set:",set);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值