ES6 memo】的更多相关文章

一.热门问题 介绍redux,主要解决什么问题 是管理应用程序状态的库,解决数据管理和数据通信的问题 Promise.Async有什么区别 Async 更简洁,不需要用 then 连接 Promise 中不能自定义使用 try/catch 进行错误捕获,但是在 Async/await 中可以像处理同步代码处理错误 调试更方便 (Generator 函数可以暂停执行和恢复执行,这是它能封装异步任务的根本原因) 介绍react优化 用 shouldComponentUpdate 避免资源浪费  复杂…
函数式编程的历史 函数的第一原则是要小,第二原则则是要更小 -- ROBERT C. MARTIN 解释一下上面那句话,就是我们常说的一个函数只做一件事,比如:将字符串首字母和尾字母都改成大写,我们此时应该编写两个函数.为什么呢?为了更好的复用,这样做保证了函数更加的颗粒化. 早在 1950 年代,随着 Lisp 语言的创建,函数式编程( Functional Programming,简称 FP)就已经开始出现在大家视野.而直到近些年,函数式以其优雅,简单的特点开始重新风靡整个编程界,主流语言在…
介绍React.memo之前,先了解一下React.Component和React.PureComponent. React.Component React.Component是基于ES6 class的React组件. React允许定义一个class或者function作为组件,那么定义一个组件类,就需要继承React.Component. 例如: class Welcome extends React.Component { render() { return <h1>Hello, {th…
写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, year} from './profile'; 2.导入外部的模块,并立即执行 import './test' //执行test.js,但不导入任何变量 第2种情况就不用讲了,就是执行从头到尾执行引入的js文件,当然,会忽略js文件里export. 下面详细讲第1种情况. 两个js文件,count…
一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入门教程   redux middleware 详解   Redux研究 React 入门实例教程 webpack学习demo NPM 使用介绍 三.工程搭建 之前有写过 webpack+react+es6开发模式 ,文章里介绍了一些简单的配置,欢迎访问. 1.可以npm init, 创建一个新的工程…
由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...),下面罗列一些自己经常用到的ES6特性. 块级作用域 ES6提出了两个新的声明变量的命令:let和const.其中,let完全可以取代var,因为两者语义相同,而且let没有副作用. (1).使用let 取代 var 1.for循环的计数器,就很合适使用let命令. /* let */ for (l…
我们都知道在javascript里是没有块级作用域的,而ES6添加了块级作用域,块级作用域能带来什么好处呢?为什么会添加这个功能呢?那就得了解ES5没有块级作用域时出现了哪些问题. ES5在没有块级作用域的情况下出现的问题:   一.在if或者for循环中声明的变量会泄露成全局变量 for(var i=0;i<=5;i++){ console.log("hello"); } console.log(i); 二.内层变量可能会覆盖外层变量 var temp = new Date()…
1.let和const命令 1.es6新增了let和const命令,与var用法类似,但它声明的变量只在let所在的代码块内有效(块级作用域,es5只有全局和函数作用域) { let a = 1; var b = 2; } console.log(a); //a is not defined let声明的变量只在自己的块内有效 console.log(b); var a = []; for(avr i = 0; i < 10; i++){ a[i] = function() { console.…
ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使用ES6必须先声明 严格模式 "use strict" let变量 let特性: 1.不允许重复声明 2.没有预解析. 3.块级作用域 一对{}包括的区域称为代码块 块级作用域指一个变量或者函数只在该区域才起作用. 例: "use strict" for(let i=0…
let与块级作用域 { var foo='foo'; let bar='bar'; } console.log(foo,'var'); //foo varconsole.log(bar ,'bar');//Uncaught ReferenceError: bar is not defined 在代码中,使用var申明的变量在代码块外面能被识别,但是let命令却不能被识别,这样就实现了js的块级作用域,我们在使用条件语句 循环语句等就会不担心变量污染的问题了,以下是两种写法等对比: es6: fo…