ES6 - 技术教程文章
1.《ES6标准入门》(阮一峰)--10.对象的扩展【代码】
1.属性的简洁表示法ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。const foo = 'bar'; const baz = {foo}; baz // {foo: "bar"}// 等同于 const baz = {foo: foo};上面代码中,变量foo直接写在大括号里面。这时,属性名就是变量名, 属性值就是变量值。下面是另一个例子。function f(x, y) {return {x, y}; }// 等同于function f(x, y) {return {x: x, y: y}; }f(1, 2) // Object {x: 1, y...
es6
1、变量let不能重复声明,不然会报错,变量可以修改,块级作用域2、const不能重复声明,变量不能修改,块级作用域3、var可以重复声明,没有块级作用域let show = function() { console.log(‘333‘)}let show = ()=>{ console.log(‘333‘)}++++++++++++++++++++++++let show = function(a) { console.log(‘333‘)}let show = a=> { console.log(‘333‘)}++++++++++++++++++++()如果只有一个参数的时候可以省略{}只...
es6学习4: 原生js常用api【代码】
二、选择器document.querySelector(selectors) // 接受一个CSS选择器作为参数,返回第一个匹配该选择器的元素节点。document.querySelectorAll(selectors) // 接受一个CSS选择器作为参数,返回所有匹配该选择器的元素节点。document.getElementsByTagName(tagName) // 返回所有指定HTML标签的元素document.getElementsByClassName(className) // 返回包括了所有class名字符合指定条...
ES6 手册
var 和 let/const 的比较除了 var ,我们现在还可以使用两个新的标示符来定义一个变量 —— let 和 const。和 var 不一样的是,let 和 const 不存在变量提升。使用 var 的栗子:var snack = ‘Meow Mix‘;function getFood(food) { if (food) { var snack = ‘Friskies‘; return snack; } return snack;}getFood(false); // undefined当我们用 let 代替 var 的时候,观察会发生什么:let snack = ‘Meow M...
ES6 迭代器【代码】
IteratorIterator 是 ES6 引入的一种新的遍历机制,迭代器有两个核心概念:迭代器是一个统一的接口,它的作用是使各种数据结构可被便捷的访问,它是通过一个键为Symbol.iterator 的方法来实现。迭代器是用于遍历数据结构元素的指针(如数据库中的游标)。迭代过程迭代的过程如下:通过 Symbol.iterator 创建一个迭代器,指向当前数据结构的起始位置随后通过 next 方法进行向下迭代指向下一个位置, next 方法会返回当前位置的对象,...
es6引用模块import后面加上花括号{}和不加花括号的区别
在使用import语法引用模块时,如何正确使用{}例如:有两个文件,home.js、user.js当需要在home.js中引入user.js的时候 //home.jsimport user from ‘./user‘;对于上面的这种引入方法,只有user.js文件中需要提供默认的export defulat进行导出(必须是默认导出)这样在home.js文件中就可以使用user了。如下 //user.jsexport default ‘nihao‘在这种不使用{}来引用模块的情况下,import模块时的命名是随意的,即如下三种引用命名都...
ES6笔记(4)-- Symbol类型【代码】【图】
系列文章 -- ES6笔记系列 Symbol是什么?中文意思是标志、记号,顾名思义,它可以用了做记号。是的,它是一种标记的方法,被ES6引入作为一种新的数据类型,表示独一无二的值。由此,JS的数据类型多了一位成员:Number、String、Boolean、undefined、Object、Symbol 一、简单使用1. 声明类似字符串String的声明方式 var str = ‘str‘; Symbol的声明方式类似,它调用构造函数Symbol()var s = Symbol(); typeof s // symbol2. 使用Sy...
es6中export和export default的区别
export和exportDefault都是用来导出的,可用于导出(暴露)常量、函数、文件、模块等,以便其他文件调用区别export可以使用对象的方式导出多个文件和函数和模块等但是export default不需要export {hellow,nameList}export default hellow在其他文件引用export default导出的对象时不一定使用导出时的名字。因为这种方式实际上是将该导出对象设置为默认导出对象,如:假设文件A、B在同级目录,实现文件B引入文件A的导出对象deObject...
vue开发 ES5——> ES6设置【图】
设置' ref='nofollow'>vue开发 ES5——> ES6设置原文:https://www.cnblogs.com/dianzan/p/8570830.html
es6总结(七)--proxy & reflect【图】
原文:http://www.cnblogs.com/liuhao-web/p/7073161.html
ES6中的Map【代码】
今天小编和大家一起探讨一下引用类型中的map,在其中会有一些map与数组联合应用,还有和map类似的weakmap类型的说明,这篇文章同时也增加了一些操作数组的办法和实际应用。大家也可以关注我的微信公众号,蜗牛全栈。一、map的声明let s = new Set([1,2,3]) console.log(s) // Set(3){1,2,3}// map中的数据不会出现重复的情况,如果重复,会将重复的元素去掉。可以应用这一特性,对数组进行去重等处理 let s = new Set([1,2,3,1]) c...
ES6初识-Proxy和Reflect
{let obj={time:‘2017-03-11‘,name:‘net‘,_r:123}; let monitor=new Proxy(obj,{// 拦截对象属性的读取get(target,key){return target[key].replace(‘2017‘,‘2018‘)},// 拦截对象设置属性set(target,key,value){if(key===‘name‘){return target[key]=value;}else{return target[key];}},// 拦截key in object操作has(target,key){if(key===‘name‘){return target[key]}else{return false;}},// 拦截deletedeleteProper...
ES6中的箭头函数【代码】
讲真,自从出了箭头函数之后,再也不用担心 this 问题了,而且就简化代码这一方面来说,箭头函数可谓是装逼神器。箭头函数有几点需要注意,如果 return 值就只有一行表达式,可以省去 return,默认表示该行是返回值,否则需要加一个大括号和 return。如果参数只有一个,也可以省去括号,两个则需要加上括号。比如下面的例子:var f = v => v*2; // 等价于var f = function(v){return v*2; }// 判断偶数var isEven = n => n % 2 == ...
ES6中的数组【代码】
数组是js中很重要的数据类型,虽然在 ES5 中,关于数组的方法和属性很多。但为了更加简洁、高效的操作数组,ES6 中又在数组原型上和实例上新增了一些方法。一、Array方法1.1 Array.from()js中存在很多类似数组的对象,比如说 获取的一组DOM元素,比如说 函数的参数。它们有着类似数组的属性,比如说键值对,或者 length 属性,但它们并不能使用数组里的方法。要把一个类似数组的对象转换成一个真正的数组有时候可能很麻烦,就拿 函...
es6 Array.from() 将类似数组的对象转化为数组(1)
Array.from() 将数组对象转化为数组,应用方式Array.from(arr) arr数组对象的名称;常用与类似数组的对象是DOM操作返回的Nodelist集合(如: let ps = document.querySelectorAll(‘p‘)),函数内部的arguments对象(如:function(){ let args = Array.from(arguments); //...})备注: querySelectorAll(‘‘)返回的是一个类似数组的对象,只有将对象转化为数组才可以调用forEach方法。栗子:let arrlike = {‘0‘:‘a‘,‘1‘:‘b...
ES6新特性【代码】
1. 箭头函数(=>)ES6中引入了箭头函数来代替 function,即在定义方法的时候不用写 function ,=> 的左边为函数名和参数,右边为执行操作和返回值。1function(a){ 2return a + 1; 3 } //ES54 (a) => a + 1; //ES6箭头函数写法简洁,同时解决了JS中 this 作用域的问题。因为箭头函数内部没有定义 this 对象,所以函数内部的 this 完全继承外部。2. 变量声明(let、const)let 与 const 的作用基本与 var 相同,区别如下:var 作用...
js es6 介绍set,WeakSet【代码】
前言介绍一下es6 的set 和 weakset正文setES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。{let list = new Set();list.add(5);list.add(7);console.log(list.size); //2 } Set 函数可以接受一个数组作为参数,用来初始化。{let arr = [1,2,3,4,5];let list = new Set(arr);console.log(list.size); //5 } Set中重复的元素不会添加,可以用于去...
ES6 语句判断简写【代码】
链判断运算符编程实务中,如果读取对象内部的某个属性,往往需要判断一下该对象是否存在。比如,要读取message.body.user.firstName,安全的写法是写成下面这样。// 错误的写法 const firstName = message.body.user.firstName;// 正确的写法 const firstName = (message&& message.body&& message.body.user&& message.body.user.firstName) || ‘default‘;这样的层层判断非常麻烦,因此 ES2020 引入了“链判断运算符”(option...
ES6系列--【ES6 新增字符串方法】【代码】【图】
1、简单使用includes()返回布尔值,表示是否找到了参数字符串startsWith()返回布尔值,表示参数字符串是否在源字符串的头部endsWith()返回布尔值,表示参数字符串是否在源字符串的尾部 let str="lxy";//字符串是否以某个字符开头console.log(str.startsWith(‘l‘));//trueconsole.log(str.startsWith(‘x‘));//false//字符串是否以某个字符结尾console.log(str.endsWith(‘x‘));//falseconsole.log(str.endsWith(‘y‘));//true...
【ES6专题】——var、let、const的区别和使用场景【代码】
在ES6中,新出了let和const这两个新的声明变量的命令。与之前的var相比,let和const有几个不同的特性。 var可以重复声明,且存在变量提升没有块级作用域 <!--可以重复声明-->var a = "this is a";var a = "this is another a"; //重复声明了aconsole.log(a); //输出this is another a<!--存在变量提升-->console.log(b); //变量提升,var b 被提升至所在作用域顶部,输出undefinedvar b = "this is ...
Set()--Es6新的数据结构
新的数据结构Setset实例的属性和方法1)Set结构的实例有以下属性 Set.prototype.constructor: 构造函数,默认就是Set函数 Set.prototype.size:返回Set实例的成员总数2)set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)操作方法(用于操作数据) -add(value): 添加某个值,返回Set结构本身。 -delete(value):删除某个值,返回一个布尔值,标书删除是否成功 -has(va...
ES6 入门系列 - 函数的扩展【代码】
1函数参数的默认值基本用法在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) {y = y || ‘World‘;console.log(x, y); }log(‘Hello‘) // Hello World log(‘Hello‘, ‘China‘) // Hello China log(‘Hello‘, ‘‘) // Hello World上面代码检查函数log的参数y有没有赋值,如果没有,则指定默认值为World。这种写法的缺点在于,如果参数y赋值了,但是对应的布尔值为false,则该赋值不起作用...
ES6箭头函数【代码】
【转】ES6箭头函数(Arrow Functions)ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器)。 一、语法1. 具有一个参数的简单函数var single = a => a single(‘hello, world‘) // ‘hello, world‘ 2. 没有参数的需要用在箭头前加上小括号var log = () => {alert(‘no param‘) } 3. 多个参数需要用到小括号,参数间逗号间隔,例如两个数字相加var add = (a, b) => a + b add(3, 8) // 11 4. 函数...
es6 generator 函数中的yield理解【图】
es6 generator 的yield理解原文:https://www.cnblogs.com/malong1992/p/12129561.html
ES6 Promise的用法(摘抄)【代码】【图】
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。那就new一个var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log(‘执行完成‘); resolve(‘随便什么数据‘); }, 2000);});Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异步操作执行成功后的回...
浅谈ES6——ES6中let、const、var三者的区别【代码】
在了解let、const、var的区别之前,先了解一些什么是es6Es6 全称ECMAscript 是JavaScript语言的一个标准,其实Es6本质就是JavaScript的一个版本,为什么叫ECMAscript呢,一个原因是JavaScript商标名称的原因,还有一个是ECMA是一个标准化组织,将这门语言规范化,可以更有利于成为一种国际标准和保持其开放性。 Es6和es2015、es2016、es2017 ;es6是一个名词也是一个泛指,含义是5.1版以后javaScript的下一代标准,涵盖了es2015、e...
ES6中6种声明变量的方法【代码】
ES5 只有两种声明变量的方法:var命令和function命令。ES6 除了添加let和const命令,还有两种声明变量的方法:import命令和class命令。所以,ES6 一共有 6 种声明变量的方法。(1) var命令。var a ; //undefinedvar b = 1;var定义的变量可以修改,如果不初始化会输出undefined,不会报错var 声明的变量在window上,用let或者const去声明变量,这个变量不会被放到window上很多语言中都有块级作用域,但JS没有,它使用var声明变量,...
es6高频面试题,请查收【图】
整理的是高频知识点,不足之处还请指出哈,后续会完善 新特性let,const申明箭头函数模板字符串解构赋值拓展运算符set()、map()async、awaitpromiseimport导入、export导出for of、for in let、const、var三者区别let声明变量,const声明常量let、const都有块级作用域,而var没有var存在变量提升,而let、const不会const与let最大不同在于,const声明后无法再次赋值 箭头函数与普通函数区别箭头函数是匿名函数,不能作为构造函数,...
ES6新特性:增加新类型:Symbol【代码】
本文所有Demo的运行环境都为nodeJS, 参考:让nodeJS支持ES6的词法----babel的安装和使用 ; ES6新增了一种数据类型:Symbol,Symbol是用来定义对象的唯一属性名的不二之选; Symbol如何使用 Symbol如何使用呢, Symbol不是一个构造函数哦, 如果用new Symbol的话, 会报错的:var sym1 = Symbol(); var sym2 = Symbol("foo"); var sym3 = Symbol("foo"); console.log(sym1, sym2, sym3) //输出Symbol() Symbol(foo) Symb...
es6冲刺02【代码】【图】
1、Symboles6新增的数据类型1)概念提供一个独一无二的值let a=Symbol()let b=Symbol()或let c=Symbol.for(‘c‘)let d=Symbol.for(‘c‘)c是一个key,标识着这个独一无二的变量 2、数据结构1)setSet中的元素不可重复其长度用.size表征添加重复元素(严格相等)后不会报错,但不生效,用来去重很方便{let list=new Set()list.add(1)//用add来添加元素list.add(2)}{let arr=[1,2,3,4,5]let list=new Set(arr)} 方法有.add(obj)//添加...