ECMAScript6 语法
ECMAScript6语法 使用Typora打开https://pan.baidu.com/s/1LjcOFOfrAHaUgxU9LzKVzg 提取码: 88fb
在线查询ES6语法入门,我也经常看这个 点击进入
粗略总结
1.let:声明一个变量,不会越界 const:声明一个常量
2.字符串
includes
startsWith
endsWith
const ss = ``
3.解构表达式
数组:let [x,y,z]=arr
对象: let {name:a, age:b}=person
4.函数
赋默认值:方法参数列表赋默认值 (a, b=1)=>{}
箭头函数:()=>{}
对象中定义函数:
传统 eat:function(){}
箭头 eat:()=>{}
简写 eat(){}
箭头函数结合结构表达式:({name})=>{}
5.map和reduce
map(fun):处理一个数组,遍历数组中的每一个元素用fun处理,把处理结果放入新的数组
reduce(fun(a, b)[, 100]):没有初始值(1. a=10 b=20 2. a=30 b=30) 有初始值(1.a=100 b=10 2.a=110 b=20)
6.对象的扩展
keys
values
entries:二维数组
assign(dest, ...src)
7.数组扩展
find findIndex includesIDEA对ECMAScript6的支持
创建工程
创建空工程
- File>>>New>>>Project>>>Empty Project>>>Empty Project>>>Next>>>输入Project Name>>>Finish
创建一个Module
- File>>>New>>>Module>Static Web>>>Static Web>>>Next>>>输入Module Name>>>Finish
直接在Module中创建一个html文件即可,右击run运行
声明变量 var let const
var(声明变量,有局部外可用缺陷(可越界))
- 代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
for (let i = 0; i < 5; i++) {
console.log(i);
} console.log("我在循环外"+i); </script>
</html> - 显示结果
- 代码
let(声明变量,同var,不能局部外使用(不会越界))
- 代码:把上面var改为let
<script>
for (let i = 0; i < 5; i++) {
console.log(i);
} console.log("我在循环外"+i); </script> - 显示结果
- 代码:把上面var改为let
const声明一个常量
字符串扩展 includes() startsWith() endsWith()
includes()
startsWith()
endsWith()`` 带有换行可以正常声明,正常打印
"" 带有换行不能正常声明
结构表达式
解构数组
解构对象
函数优化
函数NaN问题
- 代码
<script>
function fun1(a,b) {
console.log(a/b);
} fun1(10);
</script> - 结果
- 代码
函数参数默认值
- 代码
<script>
function fun1(a, b) {
/*如果b为空,就会把1赋值给b*/
/*如果b不为空,b值不变*/
if (!b) {
b = 1;
}
console.log(a / b);
} fun1(10);
</script> <!--等同于--> <script>
function fun1(a, b) {
b = b || 1;
console.log(a / b);
} fun1(10);
</script> <!--等同于--> <script>
function fun1(a, b = 1) {
console.log(a / b);
} fun1(10);
</script> - 结果
- 代码
箭头函数
- 一个参数
- 代码
<script>
let fun1=i=>console.log("输出i的值:"+i);
fun1(100);
</script> - 输出
- 代码
- 多个参数,参数用()括起来
- 代码
<script>
let fun2=(i,j)=>console.log("输出i的值:"+i);
fun2(100,200);
</script> - 输出
- 代码
- 代码不止一行,逻辑用{}括起来
- 代码
<script>
let fun2=(i,j)=>{
console.log("输出i的值:"+i);
console.log("输出j的值:"+j);
}
fun2(100,200);
</script> - 输出
- 代码
- 一个参数
对象的函数属性简写
- 代码
<script>
const person = {
name: "daniu",
//以前
eat1: function (food) {
console.log(this.name + "吃了" + food);
},
//箭头函数版
//这里需要用person.name,this.name会获取不到name="daniu"
eat2: food => console.log(person.name + "吃了" + food),
//简写版
eat3(food) {
console.log(this.name + "吃了" + food);
}
} person.eat1("香蕉");
person.eat2("苹果");
person.eat3("菠萝");
</script> - 输出
- 代码
箭头函数结合解构表达式
- 代码
<script>
const person = {
name: "daniu",
age: 25
} //普通
function fun1(person1) {
console.log("fun1 姓名:" + person1.name + ",年龄:" + person1.age);
} //箭头函数
const fun2=person2=>console.log("fun2 姓名:" + person2.name + ",年龄:" + person2.age); //箭头函数+解构表达式
const fun3 = ({name, age}) => console.log("fun3 姓名:" + name + ",年龄:" + age); fun1(person);
fun2(person);
fun3(person);
</script> - 输出
- 代码
map和reduce方法
map方法
- 代码
<script>
let sz = ['1', '20', '-5', '3'];
//map前输出
console.log(sz) sz = sz.map(index => parseInt(index));
//map后前输出
console.log(sz)
</script> - 输出
- 代码
reduce方法
对象扩展
数组扩展
find方法
findIndex方法
includes方法
111
ECMAScript6 语法的更多相关文章
- ECMAScript6语法检查规范错误信息说明
项目中使用ECMAScript6的时候经查会使用语法检查,下面是常见错误信息的汇总: “Missing semicolon.” : “缺少分号.”, “Use the function form of ...
- ECMAScript6语法重点(二)
十一.Proxy和Reflect(Proxy保护对象不被外界访问:Object方法移植到Reflect) ①Proxy:原始对象(供应商)通过Proxy(代理商)生成新对象(映射原对象),用户访问的是 ...
- ECMAScript6语法重点(一)
一. let和const ①let声明的变量只在它的块作用域有效({ }括起来) ②let不能重复声明同一变量 ③const声明的常量不能改(但对象可以加属性) ④const也有块作用域概念 ⑤con ...
- 07.VUE学习之解决phpstorm不识别ECMASCRIPT6语法的问题
此时已经识别:
- Vue--vue中常用的ECMAScript6语法
1.对象的写法 es5中对象: {add:add,substrict:substrict} es6中对象: {add,substrict} 注意这种写法的属性名称和值变量是同一个名称才可以简写,否则要 ...
- 基于Vue的WebApp项目开发(二)
利用webpack解析和打包.vue组件页面 相关知识: vue项目中的每个页面其实都是一个.vue的文件,这种文件,Vue称之为组件页面,必须借助于webpack的vue-loader才能运行,所以 ...
- webpack--安装,使用
1. webpack 1.1. webpack介绍 webpack是一个资源的打包工具,目前最新为webpack3,可以将 .js, .css , image等静态资源当做一个模块来进行打包,那么每一 ...
- 用js中的let等操作,要手动开启ECMAScript6(如果不设置,let等ES6语法会报错)
问题:idea默认没有开启ECMAScript6,需要进行设置:(如果不设置,let等ES6语法会报错)步骤: File | Settings | Languages & Frameworks ...
- ECMAscript6(ES6)新特性语法总结(一)
ES6/ES2015,,在ES5的基础上扩展了很多新的功能,在使用的时候要慎重,因为有一部分js代码在部分浏览器是不兼容的,但是所有写在服务器端的代码基本上都支持ES6的写法. 新特性: 一.开启严格 ...
随机推荐
- 将普通java工程转换成maven工程
在MyEclipse10中将Maven项目转成普通Java项目后,想将Java项目转成Maven项目,结果一下子傻眼了.根本就没有攻略中提到的config标签.仔细一看,喵咪的,人家用的是Eclips ...
- C#与西门子PLC通讯
1.0 通讯组件概述 通讯组件用于PC与可编程控制器(PLC).智能仪表等进行数据通讯,适用于基于PC高级语言的工业自动化控制系统.组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里 ...
- JavaScript取出字符串和尾随空格
书写JavaScript性能trim()之前和之后删除空字符串格,的功能的应用String物replace()方法去除空字符串端到端格.trim()例如,对于功能键下面的代码: <script ...
- WPF 3D中多个模型如何设置某一个在最前?
原文:WPF 3D中多个模型如何设置某一个在最前? 问题:我们的模型包括导入的3D solid模型和axis坐标轴模型,当模型旋转的时候,3D会将axis挡住. 期望:axis一直在最前面,不会被3D ...
- hdu2083 简易版之最短距离
点A和点B之间随意一点到A的距离+到B的距离=|AB|,而AB外的一点到A的距离+到B的距离>|AB|: #include<math.h> #include<stdio.h&g ...
- 【读书笔记】——《A Brief History of Humankind》
I encourage all of us, whatever our beliefs, to question the basic narratives of our world, to conne ...
- 微信小程序之加载更多(分页加载)实例
业务需求: 列表滚动到底部时,继续往上拉,加载更多内容 必备参数: (1)pageindex: 1 //第几次加载 (2)callbackcount: 15 //需要返回数据的个数 其他参数: 根据接 ...
- 伪随机数与采样(sampling)
计算机本身是无法产生真正的随机数的,但是可以根据一定的算法产生伪随机数(pseudo-random numbers).最古老最简单的莫过于 Linear congruential generator: ...
- 【winows7+android-ndk-r9+Cygwin 】cocos2dx 2.*游戏移植Android平台完全手册
为了有不少走的弯路.这里简要记录cocos2d开发环境的搭建.android开发环境搭建.android NDK环境搭建.终于实现cocos2dx 2.* 游戏Android平台移植. 转载请注明出处 ...
- doker基础
去 Docker Hub 上拉取一个叫 hello-world 的集装箱docker pull hello-world然后让这个集装箱跑起来docker run hello-world查看本机所安装的 ...