美文网首页
ES6-跨模块常量&全局对象的属性

ES6-跨模块常量&全局对象的属性

作者: 东邪_黄药师 | 来源:发表于2018-10-31 14:37 被阅读8次

跨模块常量:

//  module.js
//export代表会从"const intVariantName = 100;"这个模块输出
export const intVariantName = 100;
export const FloatVariantName = 3.14159165;
export const charVariantName = "variantValue";

//  use.js
import * as variant from './module';
console.log(variant.intVariantName);    //100
console.log(variant.FloatVariantName);  //3.14159165
console.log(variant.charVariantName);   //variantValue

//  otherUse.js
import { FloatVariantName, charVariantName } as variant from './module';
console.log(variant.FloatVariantName);  //3.14159165
console.log(variant.charVariantName);   //variantValue

//  OnlyInt.js
import intVariantName as variant from './module';
console.log(variant.intVariantName);    //100

==========================================================

    全局对象是最顶层的对象,在浏览器环境指的是window对象,在Node.js指的是global对象。在JavaScript语言中,所有全局变量都是全局对象的属性。(Node的情况比较特殊,这一条只对REPL环境适用,模块环境必须显式声明成global的属性。)

     ES6规定,var命令和function命令声明的全局变量,属于全局对象的属性;let命令、const命令、class命令声明的全局变量,不属于全局对象的属性。

    var varName = "varValue";
//  浏览器环境下
console.log(window.varName);    //varValue
//  Node.js环境下
//console.log(global.varName);  //varValue
//  通用环境
console.log(this.varName);      //varValue

let letName = "letValue";
console.log(window.letName);    //undefined -- use strict
console.log(this.letName);      //undefined -- use strict

相关文章

  • ES6-跨模块常量&全局对象的属性

    跨模块常量: ==================================================...

  • ES6.2--全局变量和跨模块变量

    跨模块常量 const 声明的常量只在当前的代码块中有效。如果页面需要设置跨模块的常量 全局对象属性 ES5中,全...

  • js编程风格

    块级作用域 全局常量和线程安全 字符串 解构赋值 对象 数组 函数 Map结构 Class 模块

  • final关键字

    static final用来修饰属性:全局常量

  • 数值对象-Math对象

    一、Math对象的属性 Math对象的属性往往都是数学中常用到的“常量”,Math对象属性如下:Math对象属性 ...

  • angular 设计

    app.js 文件说明:入口文件 声明模块依赖 声明全局常量、变量 全局方法,退出登录 全局变量,用户信息 全局常...

  • 成员变量 全局变量 局部变量 属性 常量

    成员变量 全局变量 局部变量 属性 常量 常量:oc中声明常量使用关键字const。如:const double ...

  • webpack抽离公共代码和热更新

    抽离公共代码 module.exports里配置属性对象 模块热更新 全局更新 可以使用module.export...

  • @控制器篇

    一控制器应该有哪些全局属性? 首先必须明白,全局属性就是为了跨方法使用,跨地域使用,跨哪些地域?一般最少两大...

  • Node.js模块与npm包管理

    一、Node.js模块对象的属性 在Node.js模块内部,模块对象具有以下的属性: module.id:属性值是...

网友评论

      本文标题:ES6-跨模块常量&全局对象的属性

      本文链接:https://www.haomeiwen.com/subject/xnlatqtx.html