绯雨闲丸 Blog

极客: 是每一个程序员的目标

react-native简介

引领了新一代移动源生开发

2015年3月facebook正式开源了react-native ios版, 同年10月正式开源了react-native android版. 并且倍受广大开发者追捧. Facebook对react-native的宣传为: React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP. ...

react-native中es5对照es6的写法

""

“” 英文版: https://babeljs.io/blog/2015/06/07/react-on-es6-plus 很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是ES5版本的,所以很多人在学习的时候连照猫画虎都...

es6-WeakMap的用法

""

“” Map 和 Set 就不说了,很常规的概念,不过Map和Object有点区别的,比如Map可以用一个object作为key。 这里重点说一下WeakMap。 WeakMap和Map主要有如下几个区别: WeakMap 只能用Object作为key,不能用基本数据类型比如字符串作为key WeakMap 中的key是弱引用 WeakMap 没有size 其...

es6-Symbol的用法

""

“” 为什么要用Symbol Symbol的目的就是为了实现一个唯一不重复不可变的值,任何一个Symbol都是唯一的,不会和其他任何Symbol相等。 很多时候其实我们都需要用到唯一不重复的值。比如我们给一个DOM节点做动画,那么我们需要判断动画是否正在执行。 这个时候一般的做法是给DOM节点加上一个属性(或者classname之类的)做一个标记,比如下面这样: d.isM...

es6-module的用法

""

“” modules是ES6引入的最重要一个特性。 主要分为二部分,一部分是如何导出,一部分是如何导入。 命名导出(named exports) 可以直接在任何变量或者函数前面加上一个 export 关键字,就可以将它导出。 这种写法非常简洁,和平时几乎没有区别,唯一的区别就是在需要导出的地方加上一个 export 关键字。 比如: export const sqrt = M...

es6-iterator-yield的用法

""

“” 只要一个对象实现了正确的 Symbol.iterator 方法,那么它就可以被 for in 所遍历 var students = {} students[Symbol.iterator] = function() { let index = 1; return { next() { return {done: index>100, va...

es6新增内容简介

""

“” ES6新增的内容 ES6新增了大量的内容。 这里可以查看es6中文详细教程http://es6.ruanyifeng.com/#docs/intro 这可以查看主流浏览器和自己当前浏览器的兼容性 https://kangax.github.io/compat-table/es6/ 一般在开发时,都使用 babel 来把 es6 的代码编译成 es5。它支持绝大部分的特...

es6-destructing-spread的用法

""

“” 解构 简单来说就是通过析构表达式的右边值来同时对左边的多个值进行赋值, 可以看下示例进行理解: var [a,b,c]=[1,2,3]; //通过数组给多个变量赋值 var {name, age} = {name: "Tom", age:12} //通过一个对象来给多个变量赋值 上面两个例子分别用一个数组和一个对象对多个变量进行赋值。而且并用严格一一对应,可以在...

es6-类的用法

""

“” 类class是es6引入的最重要特性之一。在没有class之前,我们只能通过原型链来模拟类。 类(class) 如果你用过java这样的纯面向对象语言,那么你会对class的语法非常熟悉。 class People { constructor(name) { //构造函数 this.name = name; } sayName...

es5复习

"准备es6"

“” ES5新增的内容 近期在开发React & React Native项目时, 经常有用到es6, 准备整理一下常用的es6内容, 在这之前先整理并复习一下es5的内容. es5 各浏览器兼容性请参考http://kangax.github.io/compat-table/es5/ es5新增的内容并不多, 主要有: 严格模式 (注:在es6中并不需要使用严格...