目录
let命令
const命令
变量的解构赋值(数组)
变量的解构赋值(对象)
变量的解构赋值(其他)
新增字符串方法
模板字符串
Symbol类型
Proxy
Set
let命令
变量出了代码块域即失效。安全性比var更强;
const命令
不可改变(常量指向对象的指针不可变)
声明的时候必须赋值
通过改变对象的值,改变常量的值:
const user =
const LOVE_YOU = user
console.log(user);
user.age = 12;
console.log(user);
变量的解构赋值(数组)
let [a, b, c] = [1,2,3]
let [a, [b, c]] = [1, [2, 3]]
let [a, , c] = [1, 2, 3]
let [a, ...c] = [1, 2, 3] // a=1, c=[2, 3]
let [a, b, c = 'default'] = [1, 2]
let [a, b, c] = [1, 2] // c: undefined
let [a, b, c] = [1, 2, undefined] // c: undefined
变量的解构赋值(对象)
let obj =
let = obj; //等价于 ( = obj);
let obj =
let = obj; //c : undefined
let obj =
let = obj
let obj = {
arr: [
'Yo.',
{
a: 1
}
]
}
let ]} = obj;
解构类函数
let = Math;
let a = 1.9;
console.log("a:",a);
console.log("floor(a):", floor(a));
console.log("pow(2,3)", pow(2,3));
变量的解构赋值(其他)
解构字符串的长度
let = 'Yo.';
console.log(length);
解构字符串
let [a, b, c] = "Yo."
传参数组:
let arr = [1, 2];
function test([a, b]) {
console.log("a: ", a);
console.log("b: ", b);
}
test(arr)
传参对象:
let obj = ;
function test() {
console.log("a: ", a);
console.log("b: ", b);
}
test(obj)
新增字符串方法
console.log('Yo.'.includes('Y'));
console.log('Yo.'.startsWith('Y'));
console.log('Yo.'.endsWith('.'));
console.log('Yo. '.repeat(10)); // console.log('Yo. '.repeat('10'));
模板字符串
反引号``
let title = '山东省聊城市东昌府区'
let tpl = `
$`}
console.log(tpl);
Symbol类型
用于临时且局部更改对象的属性,并不会更改对象原始属性的值。
为了让下游不去重写上游的属性;
let name = Symbol();
{
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: ", person);
}
console.log("person[name]: ", person[name]); // File1
Proxy
Proxy可以理解为在对对象进行'.'操作时,设定的一个过滤器,能够想象到的比较适合的使用场景是做单元测试时,验证对对象的操作。
let user = new Proxy({},{
get: function(obj,prop) {
// if(prop == 'full_name')
// return obj.fname + " " + obj.lname;
switch(prop){
case 'full_name':
return obj.fname + " " + obj.lname;
case 'age':
return '18'
}
}
})
user.fname = 'Bob'
user.lname = 'Wood'
console.log(user.full_name);
console.log(user.age);
Set
let arr = [1, 2, 3, 3]
console.log(arr);
let s = new Set(arr)
console.log(s);
console.log(s.size); // 判断s的大小
s.add(4) // s中增加4
console.log(s);
s.delete(2) // 删除中的2
console.log(s);
console.log(s.has(3)); // 判断s中是否有3
console.log(s.has(6));
s.clear() // 清空set
console.log(s);
ES6数据类型
Symbol
undefined
null
Boolean
String
Number
Object
小结:
let命令
const命令
变量的解构赋值(数组)*
变量的解构赋值(对象)*
变量的解构赋值(其他)*
新增字符串方法
includes
startsWith
endsWith
repeat
模板字符串
反引号``
Symbol类型
Proxy
Set
谢谢!
领取专属 10元无门槛券
私享最新 技术干货