首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学做小程序之ES6简介

目录

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

谢谢!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180707G114MU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券