ES6(简单了解)
1、import类似于var,不过是定义对外接口的,接受外部的文件。
import xx from xx ,有点像var i =3;
如import profile from './profile';
2、export default 就是输出一个叫做default的变量或方法,然后系统允许你为它取任意名字。(es6中导入使用import,导出使用export)
3、let 声明的变量 只在let命令所在的代码块内有效。
所以let变量 一般用于for循环,避免循环变量泄露为全局变量 https://blog.csdn.net/yu452148611/article/details/53897361
4、模板字符串 : 用 ` `来表示,与es5,字符串相比,多了,解析空格、和变量(插值)的能力、
5、Number全局对象 : ES6将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。
6、函数变化 : ES6允许为函数的参数设置默认值,即直接写在参数定义的后面。
function log(x, y = 'World') {
console.log(x, y);
}
log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello
7、箭头函数:
var f = () => 5;
// 等同于
var f = function () { return 5 }; var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
}; const full = ({ first, last }) => first + ' ' + last; // 等同于
function full(person) {
return person.first + ' ' + person.last;
}
总结:(个人观点) 箭头函数是特殊的匿名函数,和前面的 = 号没关系(=号只是赋值),箭头前面是形参,后面是返回值。
箭头函数里面没有 this对象,所以在里面出现 this,那使用的就是上一层作用域链的 this对象。(类似变量的作用域链)
函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
https://www.cnblogs.com/lianjq/p/6527039.html
8、对象 :
1、 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁
var birth = '2000/01/01';
var Person = {
name: '张三',
//等同于birth: birth
birth,
// 等同于hello: function ()...
hello() { console.log('我的名字是', this.name); }
};
2、属性名表达式,ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表达式放在方括号内。
(个人)相当于属性名也可以动态生成了
let propKey = 'foo';
let obj = {
[propKey]: true,
['a' + 'bc']: 123
};
9、rest 参数 : https://www.cnblogs.com/garfieldzhong/p/8056692.html
es5中,函数声明的时候不设 形参(或不知道需要参数不定的时候),调用时有实参 且 函数里面用到传递过来的参数。函数里获取传递过来的参数需要使用 arguments这个
类数组对象表示对应的实参。
使用 rest 参数 就可以不用 arguments 数组对象,可以使用自定义的数组对象。(这样就解决了箭头函数中没有arguments 数组对象,而需要这个功能的问题)
// arguments变量的写法
function sortNumbers() {
return Array.prototype.slice.call(arguments).sort()
} // rest参数的写法
const sortNumbers = (...numbers) => numbers.sort(
10、扩展运算符 : 扩展运算符(spread)是三个点(…)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。
https://blog.csdn.net/yu452148611/article/details/53897361
function push(array, ...items) {
array.push(...items);
}
function add(x, y) {
return x + y;
}
var numbers = [4, 38];
add(...numbers) //
11、变量的解构赋值 (以后再深入了解,不常用)
12、map 函数: js 数组 map方法 参考链接
map函数的作用可以看做是简化forEach方法遍历数组的功能。
ES7+ES8 参考:https://www.jianshu.com/p/13c5d002478b
ES6(简单了解)的更多相关文章
- koa2入门--01.ES6简单复习、koa2安装以及例子
1.ES6简单复习 /*let 和 const: let用于定义一个块作用域的变量,const 定义一个常量 */ let a = 'test'; const b = 2; /*对象的属性和方法的简写 ...
- ES6简单语法
ES6 简单语法: 变量声明 ES5 var 声明变量为全局变量 会变量提升 ES6 let 声明的变量为块级变量 且不能重复声明 不存在变量提升 # {}一个大括号为一个作用域 ES6 const ...
- es6简单介绍
1.ECMAScript 6 简介 2.let和const命令 3.变量的解构赋值 4.字符串的扩展之模板字符串 5.正则的扩展 6.数值的扩展 7.函数的扩展 8.数组的扩展 9.对象的扩展 10. ...
- Vue学习【第二篇】:ES6简单介绍
ECMAScript 6简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript ...
- ES6简单入门
let let命令用来声明块级作用域. 以前的JavaScript只有全局作用域和函数作用域, 没有块级作用域. // 示例1: if (1) { var a = "hello"; ...
- ES6简单理解基本使用
let const 原来的var声明标识符:可以重复声明,编译不报错. let,const声明标识符:不能重复声明,再声明编译报错. var声明的标识符作用域是当前函数,let和const是当前{块} ...
- ES6——简单的多态
简单的多态 多态: 1.同一个接口,在不同情况下做不一样的事情:相同的接口,不同的表现: 2.接口本身只是一组定义,实现都是子类里面:需要子类去实现的方法(子类只需重写与父类同名的方法,即可达到覆盖的 ...
- ES6简单总结
1.变量声明let和const 我们都是知道在ES6以前,var关键字声明变量.无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部).这就是函数变量提升例如: functi ...
- ES6简单初识
ES常用命令介绍 函数的Rest参数和扩展 Promise使用 Module.exports和ES6 import/export的使用 promise使用 promise 为了解决callback嵌套 ...
- es6简单小复习
Ecmascript 6 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了. Ecmascript 是 JavaScript 语言的 ...
随机推荐
- hibernate 双向1对多
1: 还是用客户Customer和订单Order来解释: “一对多”的物理意义:一个客户可以有多个订单,某个订单只能归宿于一个客户. “双向”的物理意义:客户知道自己有哪些订单,订单也知道自己归宿于哪 ...
- padding 填充
CSS padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距. padding(填充) 当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背 ...
- loj2009. 「SCOI2015」小凸玩密室
「SCOI2015」小凸玩密室 小凸和小方相约玩密室逃脱,这个密室是一棵有 $ n $ 个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯泡即可逃出密室.每个灯泡有个权值 $ A_i $,每条边也有个 ...
- window.open 打开新窗口被拦截的解决方案
最近公司开发的一个项目,平凡用到下载各种类型的文件,但是例如.txt,.jpg,.pdf格式的文件呢浏览器会在当前窗口直接打开,影响用户体验,尝试各种方案和百度总结一下几点: 原理: 当window. ...
- webpack中的url-loader
使用url-loader引入图片,可以说它是file-loader的增强版 url-loader会把我们的图片使用base64的形式编码成另外一种字符串,网页是可以识别这种编码的东西的,这样的好处是, ...
- JPA 派生标识符的两种实现方式
方法一:@Entity@IdClass(ModuleId.class)public class Module { @Id private Integer index; @Id @ManyToOne p ...
- shell getopts命令
由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高.使用内部命令 getopts 可以很方便地处理命令行参数.一般格式为: getopts optstring name [args] ...
- [已解决]报错: No module named pip
cmd中敲命令: python -m ensurepip 更新升级pip命令: python -m pip install --upgrade pip
- Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?
“猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为. 举个例子: import datetime datetime.datetime.now = lambda: datetime.dat ...
- Codeforces #250 (Div. 2) B. The Child and Set
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011639256/article/details/28100041 题读错了啊... 一直跪,但刚 ...