ES6新特性⑤

网友投稿 272 2022-11-30

ES6新特性⑤

文章目录

​​数值扩展​​​​对象拓展​​​​模块化​​

​​暴露方法汇总​​​​导入方法汇总​​​​浏览器中使用模块化的第二种方式​​​​模块化引入npm包​​

数值扩展

二进制和八进制

ES6 提供了二进制和八进制数值的新的写法,分别用前缀 0b 和 0o 表示。

Number.isFinite() 与 Number.isNaN()

Number.isFinite() 用来检查一个数值是否为有限的 Number.isNaN() 用来检查一个值是否为 NaN

Number.parseInt() 与 Number.parseFloat()

ES6 将全局方法 parseInt 和 parseFloat,移植到 Number 对象上面,使用不变。

Math.trunc

用于去除一个数的小数部分,返回整数部分。

Number.isInteger

Number.isInteger() 用来判断一个数值是否为整数

例如:

对象拓展

ES6 新增了一些 Object 对象的方法

Object.is 比较两个值是否严格相等,与『===』行为基本一致(+0 与 NaN)Object.assign 对象的合并,将源对象的所有可枚举属性,复制到目标对象_proto_、setPrototypeOf、 setPrototypeOf 可以直接设置对象的原型

例如:

模块化

模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。

模块化的优势有以下几点:

防止命名冲突代码复用高维护性

ES6 模块化语法: 模块功能主要由两个命令构成:export 和 import。

export 命令用于规定模块的对外接口import 命令用于输入其他模块提供的功能

暴露方法汇总

①分别暴露

//位置./src/js/m1.js//分别暴露export let school = 'NEFU';export function teach() { console.log("哈哈哈哈哈啊哈");}

②统一暴露

//统一暴露let school = 'NEFU';function findJob(){ console.log("哈哈哈!!");}//export {school, findJob};

import * as m2 from "./m2.js";m2.findJob();

③默认暴露

//默认暴露export default { school: 'NEFU', change: function(){ console.log("哈哈哈!!"); }}

import * as m3 from "./m3.js";m3.default.change();

默认暴露返回的是一个default对象

导入方法汇总

①通用的导入方式

//引入 m1.js 模块内容 import * as m1 from "./src/js/m1.js"; // //引入 m2.js 模块内容 import * as m2 from "./src/js/m2.js"; // //引入 m3.js import * as m3 from "./src/js/m3.js";

②解构赋值形式

import {school, teach} from "./src/js/m1.js";import {school as sc, findJob} from "./src/js/m2.js";import {default as m3} from "./src/js/m3.js";

如果重名可以用as重新命名 而如果使用的是默认暴露则一定要有as

③简便形式 (针对默认暴露)

import m3 from "./src/js/m3.js";

也就是直接重命名,不需要用as(反正是必须的,所以可以省略)

浏览器中使用模块化的第二种方式

原先我们都是在script标签中直接进行引入。 而第二种方式:创建一个入口文件,然后再用一个单独的script标签引入

例如:

//入口文件//地址:./src/js/app.js//模块引入import * as m1 from "./m1.js";import * as m2 from "./m2.js";import * as m3 from "./m3.js";

引入:

考虑到兼容性的问题,项目中一般使用babel来进行处理

模块化引入npm包

略,待补。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ES6新特性①
下一篇:详解SpringBoot的Run方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~