You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
classFoo{staticclassMethod(){return'hello';}staticdefaultProps={}}Foo.classMethod()// 'hello'varfoo=newFoo();foo.classMethod()// TypeError: undefined is not a function
参考文献: http://es6.ruanyifeng.com/
babel
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。目前浏览器已实现大部分的ES6特性,但是为了兼容性我们需要使用工具babel编译为es5代码。才能让应用正常运行
在浏览器可以使用 chrome 插件
Scratch Js
尝试编写es6,并查看编译后的代码或者到 babel 在线编译尝试 https://babeljs.io/repl/
let && const
var 声明的变量在整个当前作用域有效,let 和 const声明的变量在代码块有效(块级作用域),cont 声明的变量为常量,不能重新赋值
解构赋值
按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
对象扩展
定义对象
属性名表达式
扩展运算符
ES7有一个提案,将Rest解构赋值/扩展运算符(...)引入对象。Babel转码器已经支持这项功能。可以理解为属性展开
函数扩展
函数参数默认值
函数length属性
返回没有设置默认值的参数个数
箭头函数
ES6允许使用“箭头”(=>)定义函数。
注意事项
函数绑定
函数绑定运算符是并排的两个双冒号(::),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。
Class
ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。
Class 继承
继承使用
extends
关键字取值与存值
静态属性和方法
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”
Module
javascript 模块体系,模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能
export 导出
一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。
import 导入
使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)。
The text was updated successfully, but these errors were encountered: