React中的JavaScript语法

最近在看《深入浅出react和redux》。其实react-redux采用的单相流flux是对传统mvc的一种改进,而Qt的qml遵循的是传统mvc,已有类似flux的Qt-qml实现,比如:GitHub - benlau/quickflux: A Flux implementation for QML。为了更好理解flux于是看了此书的前三张,而React和qml都能采用JS(ECMAScript 6)作为主力语言,在此列举一些个人不甚了解的JS语法以供备忘。

花括号与方括号

一句话总结:{ } 是一个对象,[ ] 是一个数组

冒号的作用

1)声明直接量对象的成员和声明标签

2)switch语句分支

3)?:三元表达式的false

主要阐述第一点。

  1. 类似于C#的属性用法:
javascript 复制代码
<SCRIPT LANGUAGE="JavaScript">
getValue = {
   a : "value1",
   b : "value2"
};

调用,a和b是属于getValue对象的2个属性:

javascript 复制代码
alert(getValue.a);
//or
alert(getValue["b"]);
</SCRIPT>
  1. 对象的方法,用法和上面差不多:
javascript 复制代码
<SCRIPT LANGUAGE="JavaScript">
getValue = 
{
	getFirst:function()
	{
	   alert("value1");
	}
};

调用:

javascript 复制代码
getValue.getFirst();
</SCRIPT>

逗号以及扩展运算符

javascript 复制代码
return { ...state, [counterCaption]: state[counterCaption] + 1};

三个句点是扩展运算符, 意为在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开。于是上述代码就是将state所有key-value展开;

而逗号运算符是首先计算左操作数,然后计算右操作数,最后返回右操作数的值。用逗号运算符可以在一条语句中执行多个运算;

因此上述代码等同于:

javascript 复制代码
const newState = Object.assign({}, state);
newState[counterCaption]++;
return newState;

默认导出

默认导出主要用于导出一个模块中最核心的内容。每个文件只能有一个默认导出。在使用默认导出时,导入者可以指定任何名称引用它:

javascript 复制代码
// example.js
export default function 方法名() { /* 代码 */ }

// main.js
import abc from './example.js';
abc();
相关推荐
未来之窗软件服务1 天前
一体化系统(九)智慧社区综合报表——东方仙盟练气期
大数据·前端·仙盟创梦ide·东方仙盟·东方仙盟一体化
陈天伟教授1 天前
人工智能训练师认证教程(2)Python os入门教程
前端·数据库·python
信看1 天前
NMEA-GNSS-RTK 定位html小工具
前端·javascript·html
Tony Bai1 天前
【API 设计之道】04 字段掩码模式:让前端决定后端返回什么
前端
爱吃大芒果1 天前
Flutter 主题与深色模式:全局样式统一与动态切换
开发语言·javascript·flutter·ecmascript·gitcode
苏打水com1 天前
第十四篇:Day40-42 前端架构设计入门——从“功能实现”到“架构思维”(对标职场“大型项目架构”需求)
前端·架构
king王一帅1 天前
流式渲染 Incremark、ant-design-x markdown、streammarkdown-vue 全流程方案对比
前端·javascript·人工智能
苏打水com1 天前
第十八篇:Day52-54 前端跨端开发进阶——从“多端适配”到“跨端统一”(对标职场“全栈化”需求)
前端
Bigger1 天前
后端拒写接口?前端硬核自救:纯前端实现静态资源下载全链路解析
前端·浏览器·vite