JavaScriptはどのように私たちの生活を一日一日簡単に


最近では、JavaScriptは、Web技術で動作するすべての開発者のための必須です.これらのバックエンドに焦点を当てても、クライアント側の一度または別のをタッチする必要があります、多分あなたは基本的に呼吸器のJSので、おそらく開発者です.
ポイントは、あなたの位置ではなく、おそらく醜いコードに直面し、考えた:“本当に、それは私がこれを書く必要がありますか?”
さて、人々はそれをより良いものにするために働いています、そして、多分、我々はこれまで最高の場所にいます、また、typescriptは素晴らしいです、驚くべきものをするのを許します、しかし、我々の旧友JavaScriptが我々に提供している若干の涼しいものを見ましょう.
**以下の機能のいずれもIEと互換性がありません.○○○ツ)_/¯

不愉快な合体
通常、変数を定義する必要があるときにnull or undefined , デフォルト値を提供する場合は、3進数を指定します.
const person = { name: 'Richard', age: 21 };
const age = person.age ? person.age : 'Age not determined';
console.log(age); // Output: 21
それが現在どのように働くかについて見ましょう!
const person = { name: 'Richard', age: 21 };
const age = person.age ?? 'Age not determined';
console.log(age); // Output: 21
偽の合体演算子(??)を扱う論理演算子null or undefined 値を返し、左側のオペランドがnull or undefined .
あなたが考慮しなければならない状況があるならばfalse だけでなく、値null or undefined , その後、試すことができますまたは演算子(竜).我々の前の例の後で、我々はそれを保証する必要があると言いましょうname が存在しなければならない.age できません0 (私たちはゼロから始めます.それから次のようにします.
const person = { name: '', age: 0 };
const name = person.name || 'This person has no name';
const age = person.age || 'Age not determined';
console.log(name); // Output: 'This person has no name'
console.log(age); // Output: 'Age not determined'

論理的な割り当て
プロパティに値を割り当てる必要があることを想像してくださいnull or undefined :
const person = { name: 'Richard', age: 21 };
const person2 = { name: 'Michael', lastname: 'Glass', age: 21 };

person.lastname ??= 'Banks';
console.log(person.lastname); // Output: Banks

person2.lastname ??= 'Kimber';
console.log(person2.lastname); // Output: Glass

オプション連鎖
私はこれのような状況で悪夢をしました、時々、あなたは深い物で働いていて、いくつかの資産にアクセスしなければなりません、しかし、あなたが必要とする属性だけでなくundefined , しかし、その親ノードも同様に、あなたは美しいことをしなければならないif このように:
const sector = { 
    role: {
        manager: {
            name: 'Alex'
        }
    }
};

const manager = sector.role && 
                sector.role.manager &&
                sector.role.manager.name ? 
                sector.role.manager.name : '';
どのように痛いですか?うまくいけば、我々は現在、何か異なることをすることができます:
const sector = { 
    role: {
        manager: {
            name: 'Alex'
        }
    }
};

const manager = sector.role?.manager?.name ?? '';
正確に、演算子を追加するだけで? 各プロパティの前に、チェーン内の各参照を明示的に検証する必要はありません.undefined 参照がNULLであれば返されます.関数も機能します.
let result = someInterface.nonExistingMethod?.();
console.log(result); // Output: undefined

結論
それはすべてではない、私は確かにあなたがチェックすることをお勧めdocs , JavaScriptは毎日良くなっている、変更が高速に利用可能になっているので、常に最新の状態にしてください!
それはすべての人々、次のポストであなたを参照してください.