Những điều thú vị trong Javascript

Trong quá trình xử lý với Javascript nhiều khi có nhưng sơ suất nhỏ có thể dẫn đến crash app đang chạy cũng như bug đáng tiếc khó có thể xử lý. Hôm nay mình sẽ giới thiệu mốt số kinh nghiệm nhỏ khi lập trình javascript. Hi vọng nó sẽ giúp ích cho ai đang lập trình ngôn ngữ này

Lỗi khi dùng các default function của array

Khi dùng các array function như map, filter, foreach thường sẽ bị lỗi trong trường hợp array là null hoặc undifined. Điều này khá là nguy hiểm dẫn đến app bạn dừng ngay lập tức. Các đơn giản là check điều kiện của nó trước khi vào function. Ví dụ khi dùng map chẳng hạn chúng ta nên check nó là array rồi mới thực hiện

let newArray = Array.isArray(vartest) && vartest.map(var => {
    // DO SOMETHING
});

Cộng trừ bí ẩn của javascript

  • 3 + true = 4
    Nguyên nhân khi dùng toán tử cộng nó sẽ convert thành number rồi cộng. Đó là lý do vì sao true + false = 1. Sẽ có bất ngờ khi cộng với string, ví dụ như true + ‘4’ thì sẽ thành true4. JS sẽ thực hiện convert thành kiểu dữ liệu còn lại của toán hạng để dễ thực hiện hơn.

Object Property Shorthand

Trước kia khi khai báo một object mà có key giống value chúng ta thường làm như sau:

const obj = { x:x, y:y };

Giờ với ES6 thì dễ dàng hơn với như thế này:

const obj = { x, y };

Destructuring Assignment

Hơi tù và code hơi dài nếu viết thế này:

const observable = require('mobx/observable');
const action = require('mobx/action');
const runInAction = require('mobx/runInAction');

const store = this.props.store;
const form = this.props.form;
const loading = this.props.loading;
const errors = this.props.errors;
const entity = this.props.entity;

Chúa đã sinh ra cái này để đỡ khổ hơn:

import { observable, action, runInAction } from 'mobx';

const { store, form, loading, errors, entity } = this.props;
const { store, form, loading, errors, entity:contact } = this.props;

Multi-line String

Long hand:

const lorem = 'Lorem ipsum dolor sit amet, consectetur\n\t'
    + 'adipisicing elit, sed do eiusmod tempor incididunt\n\t'
    + 'ut labore et dolore magna aliqua. Ut enim ad minim\n\t'
    + 'veniam, quis nostrud exercitation ullamco laboris\n\t'
    + 'nisi ut aliquip ex ea commodo consequat. Duis aute\n\t'
    + 'irure dolor in reprehenderit in voluptate velit esse.\n\t'

Shorthand:

const lorem = `Lorem ipsum dolor sit amet, consectetur
    adipisicing elit, sed do eiusmod tempor incididunt
    ut labore et dolore magna aliqua. Ut enim ad minim
    veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat. Duis aute
    irure dolor in reprehenderit in voluptate velit esse.`

Trên đây là một số thứ muốn liệt kê. Hi vọng sẽ giúp mọi người code tốt và ngắn hơn. Mọi người có chia sẻ để lại bình luận phía dưới để trao đổi thêm <3

2 Likes