一. let和const

①let声明的变量只在它的块作用域有效({ }括起来)

②let不能重复声明同一变量

③const声明的常量不能改(但对象可以加属性)

④const也有块作用域概念

⑤const声明时必须赋值

二. 解构赋值(左右一 一对应赋值,主要是数组和对象两种)

①数组:

若解构赋值左右没配对上则为undefined

{
let a,b,c,rest;
[a,b,c=3]=[1,2];//可以用默认值
console.log(a,b,c);//1 2 3
}

使用场景:

变量交换 [a,b] = [b,a];

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

函数fn返回值赋给变量 [a,b] = fn( );

{
function f(){
return [1,2]
}
let a,b;
[a,b]=f();
console.log(a,b);//1 2
}

fn返回多个值 [a, , ,b] = fn( );(逗号中间占一个数)

{
function f(){
return [1,2,3,4,5]
}
let a,b,c;
[a,,,b]=f();
console.log(a,b);//1 4
}

不知道fn返回多少个值,我只关心某一个 [a, ,...b] = fn( );(...b是数组)

{
function f(){
return [1,2,3,4,5]
}
let a,b,c;
[a,,...b]=f();
console.log(a,b);//1 [3,4,5]两逗号之间占一个数
}

②对象:

赋值可以覆盖默认值,key相等则value相等

{
let o={p:42,q:true};
let {p,q}=o;
console.log(p,q);//42 true
}

使用场景:

嵌套赋值

{
let metaData={
title:'abc',
test:[{
title:'test',
desc:'description'
}]
}
let {title:esTitle,test:[{title:cnTitle}]}=metaData;
console.log(esTitle,cnTitle);//abc test
}

三.正则扩展

新增特性:构造函数的变化  正则方法的扩展  u修饰符  y修饰符  s修饰符

{
let regex = new RegExp('xyz', 'i'); //第一个参数是字符串,第二个是修饰符
}
{
let regex3 = new RegExp(/abc/ig, 'i');
console.log(regex3.flags);//i,找修饰符
}
{  
 let s = 'bbbb_bbb_bb_b';
 var a1 = /b+/g;
 var a2 = /b+/y;
 console.log(a1.exec(s), a2.exec(s)); // ["bbbb"],["bbbb"]
 console.log(a1.exec(s), a2.exec(s)); // ["bbb"],null /g再次调用往下匹配,/y则不会
 console.log(a1.sticky, a2.sticky); //false,true表示是否开启了粘连模式/y
}
{
 console.log(/\u{61}/.test('a')); // false
console.log(/\u{61}/u.test('a')); // true
// 使用u修饰符后,所有量词都会正确识别大于码点大于0xFFFF的Unicode字符
}

四.字符串扩展

新增特性:Unicode表示法  遍历接口  模板字符串  新增方法

{
console.log(`\u0061`);//a Unicode表示
}
{
let s1='

最新文章

  1. WPF 颜色转换
  2. Oracle中group by用法
  3. hbuilder的aptana php插件无法提示命名空间之外函数和对象的解决办法
  4. NSTemporaryDirectory 临时文件
  5. The List ADT
  6. Caused by: java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCell.setEncoding(S)V
  7. 【Python练习题】程序3
  8. MS-DOS 6.22 +Vim+masm 汇编环境
  9. html : 九宫格(响应式)
  10. 微服务-开发框架之springboot by 大雄daysn
  11. jquery中$().each() 和$.each()
  12. postgresql-磁盘空间不足问题排查
  13. python小知识-属性查询优先级(如果有同名类属性、数据描述符、实例属性存在的话,实例>类>数据描述符)
  14. TypeScript 之 NPM包的类型
  15. .net 中 C# 简单自定义事件实现
  16. ISO8601时间格式
  17. python 编写远程连接服务器脚本
  18. 关于jquery的serialize方法转换空格为+号的解决方法
  19. c++工厂模式(Factory method)
  20. About libcurl and cURL in PHP

热门文章

  1. Vue2.0,Express实现的简单跨域
  2. Installing Android Studio
  3. php中生成标准uuid(guid)的方法
  4. 前端页面报net::ERR_CONNECTION_RESET错误的原因
  5. multer中间件
  6. iOS项目之报错笔记
  7. C++重载>>和<<(输入输出运算符)
  8. Linux的远程连接工具:SSH的安装
  9. 虚拟机下Linux系统如何设置IP地址
  10. php 查找字符串里面中文字符第一次出现的位置,并插入字符串