javascript 零碎笔记

使用 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

转载于:https://www.cnblogs.com/lemos/p/10539870.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值