ECMAScript6语法重点(一)
一. 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='
ECMAScript6语法重点(一)的更多相关文章
- ECMAScript6语法重点(二)
十一.Proxy和Reflect(Proxy保护对象不被外界访问:Object方法移植到Reflect) ①Proxy:原始对象(供应商)通过Proxy(代理商)生成新对象(映射原对象),用户访问的是 ...
- ECMAScript6 语法
声明变量 var let const var(声明局部变量,有局部外可用缺陷) 代码 <!DOCTYPE html> <html lang="en"> &l ...
- ECMAScript6语法检查规范错误信息说明
项目中使用ECMAScript6的时候经查会使用语法检查,下面是常见错误信息的汇总: “Missing semicolon.” : “缺少分号.”, “Use the function form of ...
- js语法重点
1:最新的ES6规范引入了新的数据类型Map:var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);m.get('Michael ...
- 07.VUE学习之解决phpstorm不识别ECMASCRIPT6语法的问题
此时已经识别:
- Vue--vue中常用的ECMAScript6语法
1.对象的写法 es5中对象: {add:add,substrict:substrict} es6中对象: {add,substrict} 注意这种写法的属性名称和值变量是同一个名称才可以简写,否则要 ...
- 【重点突破】——Cookie的使用
cookie:小甜饼 cookie:保存客户端浏览器中一个纯文本文件 版本高的浏览器可查看 F12->Resource 左下方cookie 查看 cookie作用: 保存:[安全性要 ...
- 优化MySchool数据库设计之【巅峰对决】
优化MySchool数据库设计 之独孤九剑 船舶停靠在港湾是很安全的,但这不是造船的目的 By:北大青鸟五道口原玉明老师 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识 ...
- JavaScript知识点
Day 01 1.Javascript 概述 1.什么是Javascript (JS) Javascript 是一种运行于 JS解释器/引擎 中的解释型脚本语言 JS解释器/引擎 :JS运行环境 1. ...
随机推荐
- linux的错误码error
在程序出错时,我们通过全局变量错误号errno和perror函数能够很快的定位到错误原因. Linux错误代码及其含义 C Name Value Description 含义Success 0 Suc ...
- The Little Prince-12/03
The Little Prince-12/03 These days, I am always busy with my things, including experiment and others ...
- MySQL SELECT练习题*28
-- (1)用子查询查询员工“张小娟”所做的订单信息. SELECT * FROM order_master WHERE saler_no = ( SELECT employee_no FROM em ...
- OSI七层协议与TCP/IP模型
OSI为Open System Interconnection的缩写,意为开放式系统互联,国际标准化组织(ISO,International Organization for Standardizat ...
- Windbg解决系统蓝屏
win10企业版连续两天遭遇系统蓝屏, 今天就各种检查,准备好好地研究一下这个问题,以下是整个过程: 首先,找到系统蓝屏时的错误日志: [计算机] --> [管理] --> [系统工具] ...
- bzoj3932 / P3168 [CQOI2015]任务查询系统(主席树+差分)
P3168 [CQOI2015]任务查询系统 看到第k小,就是主席树辣 对于每一段任务(a,b,k),在版本a的主席树+k,版本b+1的主席树-k 同一时间可能有多次修改,所以开个vector存操作, ...
- oracle 12.2 linux/solaris正式发布
oracle 12.2 linux/solaris正式发布,可以从http://www.oracle.com/technetwork/database/enterprise-edition/downl ...
- OO课程第四次总结
终于来到了最后一次的OO作业,以博客作业的形式来终结也是极好的,回顾一下过去十六周自己的经历,感慨颇深. 测试和正确性论证 简单来说,测试的目的是将程序的代码做到全覆盖,从而确保每个分支都运行一遍,进 ...
- Guitar Pro怎样可以快速打出三连音?
相信很多的音乐爱好初学者在使用入门编曲软件Guitar Pro的时候,都会碰到这样一个问题,很多乐谱中都出现了三连音,那么我们使用Guitar Pro的时候,如何能够打出三连音呢? 三连音,就是三等分 ...
- ODAC(V9.5.15) 学习笔记(十二)TOraLoader
名称 类型 说明 Columns TDAColumns 需要载入数据的每个字段定义 LoadMode TLoadMode 载入模式,包括: lmDirect 通过内部数据缓冲区载入到数据库中 lmDM ...