前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Es6基本语法

Es6基本语法

作者头像
shaoshaossm
发布2022-12-27 14:55:00
6340
发布2022-12-27 14:55:00
举报
文章被收录于专栏:Java啊

ES6基本语法

ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。

本部分只学习前端开发中ES6的最少必要知识,方便后面项目开发中对代码的理解。

1、let声明变量

创建 let.html

代码语言:javascript
复制
// var 声明的变量没有局部作用域
// let 声明的变量  有局部作用域
{
var a = 0
let b = 1
}
console.log(a)  // 0
console.log(b)  // ReferenceError: b is not defined
代码语言:javascript
复制
// var 可以声明多次
// let 只能声明一次
var m = 1
var m = 2
let n = 3
let n = 4
console.log(m)  // 2
console.log(n)  // Identifier 'n' has already been declared
2、const声明常量(只读变量)

创建 const.html

代码语言:javascript
复制
// 1、声明之后不允许改变    
const PI = "3.1415926"
PI = 3  // TypeError: Assignment to constant variable.
代码语言:javascript
复制
// 2、一但声明必须初始化,否则会报错
const MY_AGE  // SyntaxError: Missing initializer in const declaration
3、解构赋值

创建 解构赋值.html

解构赋值是对赋值运算符的扩展。

他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。

代码语言:javascript
复制
//2、对象解构
let user = {name: 'Helen', age: 18}
// 传统
let name1 = user.name
let age1 = user.age
console.log(name1, age1)
// ES6
let { name, age } =  user//注意:结构的变量必须是user中的属性
console.log(name, age)
4、模板字符串

创建 模板字符串.html

模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以在字符串中加入变量和表达式。

代码语言:javascript
复制
// 2、字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。
let name = "Mike"
let age = 27
let info = `My Name is ${name},I am ${age+1} years old next year.`
console.log(info)
// My Name is Mike,I am 28 years old next year.
代码语言:javascript
复制
// 3、字符串中调用函数
function f(){
    return "have fun!"
}
let string2 = `Game start,${f()}`
console.log(string2);  // Game start,have fun!
5、定义方法简写

创建 定义方法简写.html

代码语言:javascript
复制
// 传统
const person1 = {
    sayHi:function(){
        console.log("Hi")
    }
}
person1.sayHi();//"Hi"
// ES6
const person2 = {
    sayHi(){
        console.log("Hi")
    }
}
person2.sayHi()  //"Hi"
6、对象拓展运算符

创建 对象拓展运算符.html

拓展运算符(…)用于取出参数对象所有可遍历属性然后拷贝到当前对象。

代码语言:javascript
复制
// 1、拷贝对象
let person1 = {name: "Amy", age: 15}
let someone = { ...person1 }
console.log(someone)  //{name: "Amy", age: 15}
7、箭头函数

创建 箭头函数.html

箭头函数提供了一种更加简洁的函数书写方式。基本语法是:参数 => 函数体

代码语言:javascript
复制
// 传统
var f1 = function(a){
    return a
}
console.log(f1(1))
// ES6
var f2 = a => a
console.log(f2(1))
代码语言:javascript
复制
// 当箭头函数没有参数或者有多个参数,要用 () 括起来。
// 当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,
// 当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。
var f3 = (a,b) => {
    let result = a+b
    return result
}
console.log(f3(6,2))  // 8
// 前面代码相当于:
var f4 = (a,b) => a+b

箭头函数多用于匿名函数的定义

Es5模块化开发

这里所谓的模块化其实就是A模块调用B模块这种的

2.1、创建“module”文件夹
2.2、导出模块

创建 common.js

代码语言:javascript
复制
const sum = function (a, b) {
    return parseInt(a) + parseInt(b)
}
const sub = function (a, b) {
    return parseInt(a) - parseInt(b)
}

导出模块中的成员

代码语言:javascript
复制
// 导出成员:
module.exports = {
    sum: sum,
    sub: sub
}

简写

代码语言:javascript
复制
//简写
module.exports = {
    sum,
    sub
}
2.3、导入模块

创建 test.js

代码语言:javascript
复制
//引入模块,注意:当前路径必须写 ./
const m = require('./四则运算.js')
console.log(m)
const result1 = m.sum(1, 2)
const result2 = m.subtract(1, 2)
console.log(result1, result2)
2.4、运行程序
代码语言:javascript
复制
node test.js

CommonJS使用 exports 和require 来导出、导入模块。

ES6模块化写法(一)

ES6使用 export 和 import 来导出、导入模块。

1.1、导出模块

创建 es6/es6-1/01.js

代码语言:javascript
复制
export function add() {
    console.log("add....")
}

export function sub() {
    console.log("sub....")
}
1.2、导入模块

创建 es6/es6-1/02.js

代码语言:javascript
复制
//只取需要的方法即可,多个方法用逗号分隔
import {add, sub} from "./01";

add()
sub()

注意:这时程序无法运行,因为ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行。

1.3、安装Babel

Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行执行

安装命令行转码工具

Babel提供babel-cli工具,用于命令行转码。它的安装命令如下:

代码语言:javascript
复制
npm install --global babel-cli
#查看是否安装成功
babel --version
1.4、配置.babelrc

Babel的配置文件是.babelrc,存放在项目的根目录下,该文件用来设置转码规则和插件,presets字段设定转码规则,将es2015规则加入 .babelrc:

代码语言:javascript
复制
{
    "presets": ["es2015"],
    "plugins": []
}
1.5、安装转码器

项目根目录中安装

代码语言:javascript
复制
npm install --save-dev babel-preset-es2015
1.6、转码
代码语言:javascript
复制
# 整个目录转码
mkdir bes6-1
# --out-dir 或 -d 参数指定输出目录
babel es6-1 -d bes6-1
1.7、运行程序
代码语言:javascript
复制
node dist1/userComponent.js

ES6模块化写法(二)

2.1、导出模块

创建 es6/userApi2.js

代码语言:javascript
复制
export default {
    getList() {
        console.log('获取数据列表2')
    },
    save() {
        console.log('保存数据2')
    }
}
2.2、导入模块

创建 es6/userComponent2.js

代码语言:javascript
复制
import user from "./01.js"
user.getList()
user.save()
2.3、转码
代码语言:javascript
复制
# 整个目录转码
mkdir bes6-2
# --out-dir 或 -d 参数指定输出目录
babel es6-2 -d bes6-2
2.4、运行程序
代码语言:javascript
复制
node 02.js
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ES6基本语法
    • 1、let声明变量
      • 2、const声明常量(只读变量)
        • 3、解构赋值
          • 4、模板字符串
            • 5、定义方法简写
              • 6、对象拓展运算符
                • 7、箭头函数
                • Es5模块化开发
                  • 2.1、创建“module”文件夹
                    • 2.2、导出模块
                      • 2.3、导入模块
                        • 2.4、运行程序
                        • ES6模块化写法(一)
                          • 1.1、导出模块
                            • 1.2、导入模块
                              • 1.3、安装Babel
                                • 1.4、配置.babelrc
                                  • 1.5、安装转码器
                                    • 1.6、转码
                                      • 1.7、运行程序
                                      • ES6模块化写法(二)
                                        • 2.1、导出模块
                                          • 2.2、导入模块
                                            • 2.3、转码
                                              • 2.4、运行程序
                                              领券
                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档