博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es6记录
阅读量:6434 次
发布时间:2019-06-23

本文共 1200 字,大约阅读时间需要 4 分钟。

3.5?

一、const

1、冻结对象

const foo = Object.freeze({});// 常规模式时,下面一行不起作用;// 严格模式时,该行会报错foo.prop = 123;

 2、es6声明变量的6种方法

var   function   let   const   class   import

二、变量的解构赋值(数组,对象,字符串)

1、数组取值由次序决定

// 报错let [foo] = 1;let [foo] = false;let [foo] = NaN;let [foo] = undefined;let [foo] = null;let [foo] = {};

允许指定默认值。

let [foo = true] = [];foo // true

注意,ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的。

let [x = 1] = [undefined];x // 1let [x = 1] = [null];x // null

2、对象取值由位置决定

对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。

let { foo: baz } = { foo: "aaa", bar: "bbb" };baz // "aaa"foo // error: foo is not defined

属性:变量

p是模式,不是变量,因此不会被赋值。

let obj = {  p: [    'Hello',    { y: 'World' }  ]};let { p: [x, { y }] } = obj;x // "Hello"y // "World"

如果p也要作为变量赋值,可以写成下面这样。

let obj = {  p: [    'Hello',    { y: 'World' }  ]};let { p, p: [x, { y }] } = obj;x // "Hello"y // "World"p // ["Hello", {y: "World"}]

3、解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于undefinednull无法转为对象,所以对它们进行解构赋值,都会报错。

let { prop: x } = undefined; // TypeErrorlet { prop: y } = null; // TypeError

 三、

字符串对象共有4个方法,可以使用正则表达式:match()replace()search()split()

match() 返回

 

正则表达式  /i    忽略大小写

转载于:https://www.cnblogs.com/liuna/p/7685256.html

你可能感兴趣的文章
eigrp 配置
查看>>
谈一谈 redis 集群
查看>>
concurrent包
查看>>
分区和格式化硬盘
查看>>
在Linux下调试Python代码的各种方法
查看>>
centos7塔建MQ服务器
查看>>
Peer authentication failed for user
查看>>
超强的.NET图像工具包VintaSoftImaging.NET SDK更新至v8.6丨75折优惠
查看>>
阿里云上Kubernetes集群联邦
查看>>
我的Git忽略文件
查看>>
洛谷2219:[HAOI2007]修筑绿化带——题解
查看>>
监控webservice信息
查看>>
a标签中href=""的几种用法(转)
查看>>
python
查看>>
ubuntu 常用生产环境部署配置测试调优
查看>>
【JS】//将中文逗号转换为英文逗号
查看>>
在VS2012中实现Ext JS的智能提示太简单了
查看>>
Extnet Direct 提交后台事件文件下载设置
查看>>
邻接矩阵与二叉排序树
查看>>
CSS选择器
查看>>