ES5与ES6常用语法教程之 ①函数写法、创建对象、导入导出模块方式
函数写法区别
计算a, b两个数字之和,有返回值
- es5 写法
function add(a, b) {
return a + b;
}
- es6 写法(箭头函数)
let add = (a, b) => {
return a + b
}
注意:
- 箭头函数作用于执行代码,这时使用{}
let add = (a, b) => {a + b}
- 当执行的代码语句只有一个逻辑表达式,这时可以省略{}
let add = (a, b) => a + b
- 箭头函数用于返回对象时,这时使用()
let add = (a, b) => (c)
- 箭头函数的参数当只有一个参数时,这时可以省略参数的()
let add = a => alert(a)
打印计算结果,没有返回值
- es5
function printSum(a, b) {
console.log(a + b);
}
- es6
let printSum = (a, b) => {
console.log(a + b)
}
省略{}
let printSum = (a, b) => console.log(a + b)
函数执行多条逻辑语句
- es5
function printAB(a, b){
console.log(a);
console.log(b);
}
- es6
let printAB = (a, b) => {
console.log(a)
console.log(b)
}
创建对象区别
es5和es6创建对象方式的不同
- es5
let App = React.createClass({
render: function(){
return (
<View>
<Text>这是es5创建的对象</Text>
</View>
)
}
})
- es6
class App extends React.Component{
render() {
return (
<View>
<Text>这是es6创建的对象</Text>
</View>
)
}
}
注意:
- render函数内可以返回视图组件,也可以返回其他的对象
- 如果return函数中如果返回视图组件,则视图组件一定要使用
()
包裹起来 ()
中只能有一个顶级视图标签
这种写法就属于()中有2个顶级标签, 这种会语法报错
let App = React.createClass({
render: function(){
return (
<Text>这是es5创建的对象</Text>
<Text>这是es5创建的对象</Text>
)
}
})
导入导出模块方式区别
导出方式
- es5
module.exports = App
- es6
export default App
当只导出一个模块时,可以直接使用下面的写法
export default class App extents Component {}
注意:
下面的两种导出方式,导入模块时,写法不一样
- 方式1
// 导出
export default App
// 导入
import App from './App'
- 方式2
// 导出
export {App}
// 导入
import {App} from './App'
导入方式
- es5
var App = require('./App');
- es6
import App from './App'
注意:
当es5和es6的导入导出方式混用时,切记:当使用es6导出模块,使用es5导入模块,这时程序会报错
设置默认的导入导出模块
- es6 设置默认导出的内容
export default function dinner(fruit, dessert){
console.log(`${fruit}+${dessert}`)
}
或者
function dinner(fruit, dessert){
console.log(`${fruit}+${dessert}`)
} export default dinner
注意:
当需要导出一个js文件中的全部模块时,使用 * as xxx 语法
function fruit(fruit){
console.log(fruit)
} function dessert (dessert ){
console.log(dessert )
}
// 导出全部模块
export {fruit, dessert}
// 导入全部模块
import * as chef from './xxx' console.log(chef.fruit)
console.log(chef.dessert)
导入导出模块重命名
导出和导入模块时,可以重命名模块的名字
- 导出重命名
let fruit = '苹果'
let dessert = '面包' function dinner( fruit, dessert){
console.log(`${fruit}+${dessert}`)
} // 导出模块dinner函数的名字重命名为supper
export {dinner as supper} // 导入supper模块
import {supper} from './App'
- 导入重命名
let fruit = '苹果'
let dessert = '面包' function dinner( fruit, dessert){
console.log(`${fruit}+${dessert}`)
} // 导出模块dinner函数
export {dinner} // 导入dinner模块,并重命名为supper
import {dinner as supper} from './App'
ES5与ES6常用语法教程之 ①函数写法、创建对象、导入导出模块方式的更多相关文章
- ES5与ES6常用语法教程之 ②解构语法糖、声明变量异同
js常用语法系列教程如下 es5与es6常用语法教程(1) es5与es6常用语法教程(2) es5与es6常用语法教程(3) es5与es6常用语法教程(4) es5与es6常用语法教程(5) es ...
- ES5与ES6常用语法教程之 ③模板字符串、判断字符串是否包含其它字符串
这部分教程我们主要讲解以下几个常用语法 模板字符串 带标签的模板字符串 判断字符串中是否包含其他字符串 给函数设置默认值 模板字符串 老式的拼接字符串方法 let dessert = '
- ES5与ES6常用语法教程之 ④展开运算符...在数组和对象中的作用
展开操作符(spread) 展开运算符(spread operator)允许一个表达式在某处展开.展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以 ...
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ES6常用语法简介import export
ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = functi ...
- vue学习(一)ES6常用语法
1 ES6常用语法 1.1 变量提升 例① # 变量提升 <div id="app"> </div> <script> console.log( ...
- Typora+markdown 最常用语法教程
Typora+markdown 最常用语法教程(by 程序员宝藏) Typora+markdown 最常用语法教程(by 程序员宝藏) 请先配置推荐配置(文件->偏好设置): 文章目录 Typo ...
- JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理
文章目录 Git管理准备工作 Git工具上传代码 发布代码装程序 mywebsql管理 京东云引擎小结 JAE京东云引擎是京东推出的支持Java.Ruby.Python.PHP.Node.js多语 ...
- ES6 常用语法知识汇总
ES6模块化如何使用,开发环境如何打包? 1.模块化的基本语法 /* export 语法 */ // 默认导出 export default { a: '我是默认导出的', } // 单独导出 exp ...
随机推荐
- CSS基础学习-14 CSS visibility与overflow属性
- Linux Tomcat 文件上传异常
如题: ERROR > The temporary upload location [/tmp/tomcat.7982919351026796141.9097/work/Tomcat/local ...
- MySQL-5.6.13解压版(zip版)安装配置教程
来源:http://www.splaybow.com/post/mysql-5-6-13-zip-install.html [下载MySQL 5.6.13] 从MySQL官方网站mysql.com找到 ...
- 51 Nod 1101 换零钱(动态规划好题)
1101 换零钱 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 ...
- hdu 1297
Children's Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- Qbxt 模拟题 day2(am) T2 jian
[问题描述] 有N个数,随机选择一段区间,如果这段区间的所有数的平均值在[L,R]中则你比较厉害.求你比较厉害的概率. [输入格式] 第一行有三个数N, l, r,含义如上描述. 接下来一行有N个数代 ...
- codevs 2010 求后序遍历x
题目描述 Description 输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列. 输入描述 Input Description 共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串, ...
- 十八、MySQL 数据排名查询某条数据是总数据的第几条
) as rowno )) b ORDER BY a.zjf DESC 注意:mysql的下标是从0开始的 参考文章: https://blog.csdn.net/warylee/article/de ...
- Oracle实现分页,每页有多少条记录数
分页一直都是关系数据库的热门,在数据量非常多的情况下,需要根据分页展示,每页展示多少条记录,以此减轻数据的压力; 1实现原理,根据rownum取记录数,根据公式(页数-1)*每页想要展示的记录数 AN ...
- Zjoi2011看电影(movie)
第一步,打表找规律,发现自己的表连3的小样例都过不去,还不如自己手模,自己手跑了5以下的样例,然后发现毫无规律可言…… 第二步,想出一种错误做法,首先n>k必零,人比座都多……然后粘一下图: 基 ...