使用 live-serve 这个工具,可以热更新 js 代码

逻辑运算符:

常用于单边条件判断,比如

真判断(获取子属性)

{error && <div className="alert alert-danger">{error}</div>}

假判断(设置默认值)

const errors = this.validate();
this.setState({errors: errors || {}});

例子:

false || 'test" 返回 "test"

true && "test" 返回 "test"

return item._id + column.path || column.key; 与
return item._id + (column.path || column.key); selectedGenre && selectedGenre._id ? 'some' : 'another'

find vs filter

filter 遍历全部元素才会停止, find 遍历到正确的元素会立即停止。

使用 Object.keys 判断是否为 {}

validate = () => {
const errors = {};
const {account} = this.state;
if (account.username.trim() === '')
errors.username = "Username is required!";
if (account.password.trim() === '') {
errors.password = "Password is required!";
}
return Object.keys(errors).length === 0 ? null : errors;
};

ES6 允许使用字面量定义对象时,用 表达式 / 变量 作为对象的属性名,即把 表达式 / 变量 放在方括号内。

validateProperty = ({name, value}) => {
const obj = {[name]: value};
const schema = {[name]: this.schema[name]};
const {error} = Joi.validate(obj, schema);
return error ? error.details[0].message : null;
};

 

全引入别名

import * as userService from './service/userServices'

多重解构

theme 先解构出 spacing 属性,再别名,再解构出 unit 属性

const theme  = { spacing: { unit: 3 }, row: { new: 9 } };

// const {spacing} = theme ;
// const {unit} = spacing;
// 等价于 =>
const {spacing:{unit}} = theme ; console.log(unit) // 3 

数组删除某个元素

export function deleteMovie(id) {
let movieInDb = movies.find(m => m._id === id);
movies.splice(movies.indexOf(movieInDb), 1);
return movieInDb;
}

类 中与 object 中方法简写:

fn1() {
console.log(this)
// Child {props: {…}, context: {…}, refs: {…}, …}
} // 简写
fn2 = () => {
console.log(this)
// 输出:Child {props: {…}, context: {…}, refs: {…}, …}
}

ojbect

const o = {
method: function () {
return "Hello!";
}
}; // 简写
const o = {
method() {
return "Hello!";
}
};

  

233

javascript 零碎笔记的更多相关文章

  1. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  2. JavaScript基础笔记一

    一.真假判断 真的:true.非零数字.非空字符串.非空对象 假的:false.数字零.空字符串.空对象.undefined 例: if(0){ alert(1) }else{ alert(2) } ...

  3. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  4. javascript - 工作笔记 (事件四)

    在javascript - 工作笔记 (事件绑定二)篇中,我将事件的方法做了简单的包装,  JavaScript Code  12345   yx.bind(item, "click&quo ...

  5. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  6. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  7. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  8. 你不知道的JavaScript上卷笔记

    你不知道的JavaScript上卷笔记 前言 You don't know JavaScript是github上一个系列文章   初看到这一标题的时候,感觉怎么老外也搞标题党,用这种冲突性比较强的题目 ...

  9. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

随机推荐

  1. Revit二次开发封装族的替代方法

    使用草图平面:

  2. FF D8 FF FE 00 24 47 00转图片

    String[] img = "FF D8 FF FE 00 24 47 00 9D 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F0 0 ...

  3. Elastichsearch实践——基本使用

    官网文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html es中的索引.类型.文档可以 ...

  4. java 生产者消费者简单实现demo

    第一种方式 使用BlockingQueue 阻塞队列 public class Threads { public static void main(String[] args) { final Arr ...

  5. .net core 利用日志查看ef生成的SQL语句

    EF Core 没有直接提供像 EF6 那样方便的在日志中记录最终生成的 SQL 的功能,可以通过官方提供的日志记录(Microsoft.Extensions.Logging)实现. 一. 使用 Mi ...

  6. 使用Python批量下载Plus上的Podcast

    Plus是一个介绍数学之美与实际应用的网络杂志,其中包含了数学知识.轶闻趣事.历史典故等许多精彩的内容.该杂志恰好有一个Podcast栏目,提供了不少采访与讲座的mp3音频.于是, 我使用Python ...

  7. windows安装node和yarn

    Ubuntu子系统安装和删除yarn 在 Debian 或 Ubuntu 上,需要用 Debian 包仓库来安装 Yarn. 首先需要配置仓库: curl -sS https://dl.yarnpkg ...

  8. java.util.ConcurrentModificationException 记一次坑

    集合在单线程,一个循环内,有添加又删除会出现此异常. 多线程时,在不同的循环操作同一个集合,会出现此异常. 因为,集合长度发生改变时,在迭代器未结束前,迭代器的大小不会发生变化. 1.保证在同一个进程 ...

  9. Github 上怎样把新 commits 使用在自己的 fork 上

    作者:黄晓佳 链接:https://www.zhihu.com/question/20393785/answer/105370502 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  10. Excel—文本函数

    LEFT(从左开始取文本的函数)就是这个函数可以帮我们取文本,按照从左到右的顺序取 函数语法:=LEFT(要取的文本所在的单元格,从左到右取前几位)这表示的是字符,一个英文字母占一个字符,一个汉子也占 ...