12 ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื˜ืจื™ืงืก ืึทื– ืจื•ื‘ึฟ ื˜ื•ื˜ืึธืจื™ืึทืœื– ืคืึทืจืคื™ืจืŸ

12 ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื˜ืจื™ืงืก ืึทื– ืจื•ื‘ึฟ ื˜ื•ื˜ืึธืจื™ืึทืœื– ืคืึทืจืคื™ืจืŸ

ื•ื•ืขืŸ ืื™ืš ืกื˜ืึทืจื˜ืขื“ ืœืขืจื ืขืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜, ื“ืขืจ ืขืจืฉื˜ืขืจ ื–ืึทืš ืื™ืš ื”ืื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ืžืึทื›ืŸ ืึท ืจืฉื™ืžื” ืคื•ืŸ ื˜ืจื™ืงืก ื•ื•ืึธืก ื’ืขื”ืึธืœืคึฟืŸ ืžื™ืจ ืฉืคึผืึธืจืŸ ืฆื™ื™ื˜. ืื™ืš ื”ืึธื‘ ื–ื™ื™ ื’ืขืคึฟื•ื ืขืŸ ืคึฟื•ืŸ ืื ื“ืขืจืข ืคึผืจืึธื•ื’ืจืึทืžืขืจื–, ืื•ื™ืฃ ืคืึทืจืฉื™ื“ืขื ืข ื–ื™ื™ื˜ืœืขืš ืื•ืŸ ืื™ืŸ ืžืึทื ื™ื•ืึทืœื–.

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ, ืื™ืš ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืื™ืจ 12 ื’ืจื•ื™ืก ื•ื•ืขื’ืŸ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืื•ืŸ ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืงืึธื“. ืื™ืŸ ืจื•ื‘ึฟ ืงืึทืกืขืก ื–ื™ื™ ื–ืขื ืขืŸ ื•ื ื™ื•ื•ืขืจืกืึทืœ.

ืžื™ืจ ื“ืขืจืžืึธื ืขืŸ ืื™ืจ: ืคึฟืึทืจ ืึทืœืข ืœื™ื™ืขื ืขืจ ืคื•ืŸ "ื”ื‘ืจ" - ืึท ืึทืจืึธืคึผืจืขื›ืขื ืขืŸ ืคื•ืŸ 10 ืจื•ื‘ืœ ื•ื•ืขืŸ ืื™ืจ ืคืึทืจืฉืจื™ื™ึทื‘ืŸ ืื™ืŸ ืงื™ื™ืŸ ืกืงื™ืœื‘ืึธืงืก ืงื•ืจืก ื ื™ืฆืŸ ื“ื™ ืคึผืขืจืžืึธื•ืฉืึทื ืึทืœ ืงืึธื“ "ื”ื‘ืจ".

Skillbox ืจืขืงืึทืžืขื ื“ื–: ืคึผืจืึทืงื˜ื™ืฉ ืงื•ืจืก "ืžืึธื‘ื™ืœ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืคึผืจืึธ".

ืคื™ืœื˜ืขืจื™ื ื’ ื™ื™ื ืฆื™ืง ื•ื•ืึทืœื•ืขืก

ARRAYS

ื“ื™ ืกืขื˜ ื›ื™ื™ืคืขืฅ ื˜ื™ืคึผ ืื™ื– ื‘ืึทืงืขื ืขื  ืื™ืŸ ES6, ืฆื•ื–ืึทืžืขืŸ ืžื™ื˜ ื“ื™ ..., ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ืึธืคึผืขืจืึทื˜ืึธืจ, ืžื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืขืก ืฆื• ืฉืึทืคึฟืŸ ืึท ื ื™ื™ึทืข ืžืขื ื’ืข ื•ื•ืึธืก ื›ึผื•ืœืœ ื‘ืœื•ื™ื– ื™ื™ื ืฆื™ืง ื•ื•ืึทืœื•ืขืก.

const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];
 
console.log(uniqueArray); // Result: [1, 2, 3, 5]

ืื™ืŸ ืึท ื ืึธืจืžืึทืœ ืกื™ื˜ื•ืึทืฆื™ืข, ืคื™ืœ ืžืขืจ ืงืึธื“ ืื™ื– ื“ืืจืฃ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ ื–ืขืœื‘ืข ืึธืคึผืขืจืึทืฆื™ืข.

ื“ื™ ื˜ืขื›ื ื™ืง ืึทืจื‘ืขื˜ ืคึฟืึทืจ ืขืจื™ื™ื– ืžื™ื˜ ืคึผืจื™ืžื™ื˜ื™ื•ื• ื˜ื™ื™ืคึผืก: ืึทื ื“ื™ืคื™ื™ื ื“, ื ืึทืœ, ื‘ื•ืœืึทืŸ, ืฉื˜ืจื™ืงืœ ืื•ืŸ ื ื•ืžืขืจ. ืื•ื™ื‘ ืื™ืจ ืึทืจื‘ืขื˜ ืžื™ื˜ ืึท ืžืขื ื’ืข ืžื™ื˜ ืึทื‘ื“ื–ืฉืขืงืฅ, ืคืึทื ื’ืงืฉืึทื ื– ืึธื“ืขืจ ื ืึธืš ืขืจื™ื™ื–, ืื™ืจ ื“ืึทืจืคึฟืŸ ืึท ืึทื ื“ืขืจืฉ ืฆื•ื’ืึทื ื’.

ืœืขื ื’ ืคื•ืŸ ืงืึทืฉ ืžืขื ื’ืข ืื™ืŸ ืกื™ื™ืงืึทืœื–

ืกื™ื™ืงืึทืœื–

ื•ื•ืขืŸ ืื™ืจ ืœืขืจื ืขืŸ ืคึฟืึทืจ ืœื•ืคึผืก, ืื™ืจ ื ืึธื›ืคืึธืœื’ืŸ ื“ื™ ื ืึธืจืžืึทืœ ืคึผืจืึธืฆืขื“ื•ืจ:

for (let i = 0; i < array.length; i++){
  console.log(i);
}

ืึธื‘ืขืจ, ืžื™ื˜ ื“ืขื ืกื™ื ื˜ืึทืงืก, ื“ื™ ืคึฟืึทืจ ืฉืœื™ื™ืฃ ืจื™ืคึผื™ื˜ื™ื“ืœื™ ื˜ืฉืขืงืก ื“ื™ ืœืขื ื’ ืคื•ืŸ ื“ื™ ืžืขื ื’ืข ื™ืขื“ืขืจ ื™ื˜ืขืจืึทื˜ื™ืึธืŸ.

ืžืืœ ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง, ืึธื‘ืขืจ ืื™ืŸ ืจื•ื‘ึฟ ืงืึทืกืขืก ืขืก ืื™ื– ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืฆื• ืงืึทืฉ ื“ื™ ืœืขื ื’ ืคื•ืŸ ื“ื™ ืžืขื ื’ืข, ื•ื•ืึธืก ื•ื•ืขื˜ ื“ืึทืจืคืŸ ืื™ื™ืŸ ืึทืงืกืขืก ืฆื• ืขืก. ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ื“ืึธืก ื“ื•ืจืš ื“ื™ืคื™ื™ื ื™ื ื’ ืึท ืœืขื ื’ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ื•ื•ื• ืžื™ืจ ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง i, ื•ื•ื™ ื“ืึธืก:

for (let i = 0, length = array.length; i < length; i++){
  console.log(i);
}

ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ื›ึผืžืขื˜ ื“ื™ ื–ืขืœื‘ืข ื•ื•ื™ ืื•ื™ื‘ืŸ, ืึธื‘ืขืจ ื“ื•ืจืš ื™ื ืงืจื™ืกื™ื ื’ ื“ื™ ืฉืœื™ื™ืฃ ื’ืจื™ื™ืก ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ื‘ืึทื˜ื™ื™ื˜ื™ืง ืฆื™ื™ื˜ ืกื™ื™ื•ื•ื™ื ื’ื–.

ืงื•ืจืฅ ืงืจื™ื™ึทื– ืจืึทื ื’ (McCarthy ืฉืึทืฅ)

ืงืึทื ื“ื™ืฉืึทื ืึทืœ ืึธืคึผืขืจื™ื™ื˜ืขืจื–

ื“ื™ ื˜ืขืจื ืขืจื™ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ืึท ืฉื ืขืœ ืื•ืŸ ืขืคืขืงื˜ื™ื•ื• ื•ื•ืขื’ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืคึผืฉื•ื˜ (ืื•ืŸ ืžืืœ ื ื™ืฉื˜ ืึทื–ื•ื™ ืคึผืฉื•ื˜) ืงืึทื ื“ื™ืฉืึทื ืึทืœ ืกื˜ื™ื™ื˜ืžืึทื ืฅ:

X> 100? "ืžืขืจ ื•ื•ื™ 100": "ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 100";
X> 100? (x>200? "ืžืขืจ ื•ื•ื™ 200": "ืฆื•ื•ื™ืฉืŸ 100-200"): "ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 100";

ืื‘ืขืจ ืžืืœ ืืคื™ืœื• ื“ื™ ื˜ืขืจื ืขืจื™ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ื•ื•ื™ ืคืืจืœืื ื’ื˜. ืžื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ 'ืื•ืŸ' && ืื•ืŸ 'ืึธื“ืขืจ' ืึทื ืฉื˜ืึธื˜ || ื‘ืึธืึธืœืขืึทืŸ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืฆื• ืึธืคึผืฉืึทืฆืŸ ื–ื™ื›ืขืจ ืื•ื™ืกื“ืจื•ืงืŸ ืื•ื™ืฃ ืึทืŸ ืืคื™ืœื• ืžืขืจ ืงืึทื ืกื™ื™ืก ื•ื•ืขื’. ืขืก ืื™ื– ืึธืคื˜ ื’ืขืจื•ืคืŸ "ืงื•ืจืฅ ืงืจื™ื™ึทื–" ืึธื“ืขืจ "ืงื•ืจืฅ ืงืจื™ื™ึทื– ืฉืึทืฅ".

ื•ื•ื™ ืขืก ื•ื•ืึธืจืงืก

ืœืืžื™ืจ ื–ืื’ืŸ ืื– ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื•ืจื™ืงื’ืขื‘ืŸ ื‘ืœื•ื™ื– ืื™ื™ื ืก ืคื•ืŸ ืฆื•ื•ื™ื™ ืื“ืขืจ ืžืขืจ ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ.

ื ื™ืฆืŸ && ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ื™ ืขืจืฉื˜ืขืจ ืคืึทืœืฉ ื•ื•ืขืจื˜. ืื•ื™ื‘ ื™ืขื“ืขืจ ืึธืคึผืขืจืึทื ื“ ื™ื•ื•ืึทืœื™ื•ื™ื™ืฅ ืฆื• ืืžืช, ื“ื™ ืœืขืฆื˜ืข ืขื•ื•ืึทืœื•ืึทื˜ืขื“ ืื•ื™ืกื“ืจื•ืง ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ืžื’ืขืงืขืจื˜.

let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
 
console.log(0 && null); // Result: 0

ื ื™ืฆืŸ || ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืืžืช ื•ื•ืขืจื˜. ืื•ื™ื‘ ื™ืขื“ืขืจ ืึธืคึผืขืจืึทื ื“ ื™ื•ื•ืึทืœื™ื•ื™ื™ืฅ ืฆื• ืคืึทืœืฉ, ื“ื™ ืœืขืฆื˜ืข ืขื•ื•ืึทืœื•ืึทื˜ืขื“ ื•ื•ืขืจื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ืžื’ืขืงืขืจื˜.

let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
 
console.log(0 || null); // Result: null

ื‘ื™ื™ึทืฉืคึผื™ืœ ืงืกื ื•ืžืงืก

ืœืืžื™ืจ ื–ืื’ืŸ, ืื– ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื•ืจื™ืงื’ืขื‘ืŸ ื“ื™ ืœืขื ื’ ืคื•ืŸ ื ืคืืจืขื ื“ืขืจ, ืื‘ืขืจ ืžื™ืจ ื•ื•ื™ื™ืกืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื˜ื™ืค.

ืื™ืŸ ื“ืขื ืคืึทืœ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืื•ื™ื‘ / ืึทื ื“ืขืจืฉ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ืคืึธืึธ ืื™ื– ื“ื™ ืจืขื›ื˜ ื˜ื™ืคึผ, ืึธื‘ืขืจ ื“ืขืจ ืื•ืคึฟืŸ ืงืขืŸ ื–ื™ื™ืŸ ืฆื• ืœืึทื ื’. ื“ืขืจื™ื‘ืขืจ, ืขืก ืื™ื– ื‘ืขืกืขืจ ืฆื• ื ืขืžืขืŸ ืื•ื ื“ื–ืขืจ "ืงื•ืจืฅ ืงืจื™ื™ึทื–".

return (foo || []).length;

ืื•ื™ื‘ ื“ื™ ื•ื•ืขืจื™ืึทื‘ืึทืœ ืคืึธืึธ ื”ืื˜ ืึท ืคึผืึทืกื™ืง ืœืขื ื’, ื“ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ืžื’ืขืงืขืจื˜. ืึทื ื“ืขืจืฉ ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทืงื•ืžืขืŸ 0.

ื‘ื™ื™ึทืฉืคึผื™ืœ ืงืกื ื•ืžืงืก

ื”ืึธื‘ืŸ ืื™ืจ ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ืึทืงืกืขืก ืฆื• ืึท ื ืขืกื˜ืขื“ ื›ื™ื™ืคืขืฅ? ืื™ืจ ืงืขืŸ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ ืฆื™ ืึท ื›ื™ื™ืคืขืฅ ืึธื“ืขืจ ืื™ื™ื ืขืจ ืคื•ืŸ ื–ื™ื™ึทืŸ ืกืึทื‘ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื™ื’ื–ื™ืกืฅ, ืื•ืŸ ื“ืึธืก ืงืขืŸ ืคื™ืจืŸ ืฆื• ืคึผืจืึธื‘ืœืขืžืก.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ื’ืขื•ื•ืืœื˜ ืฆื• ืึทืงืกืขืก ื“ื™ ื“ืึทื˜ืŸ ืคืึทืจืžืึธื’ ืื™ืŸ ื“ืขื. ืฉื˜ืึทื˜, ืึธื‘ืขืจ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ื“ื™ืคื™ื™ื ื“ ื‘ื™ื– ืื•ื ื“ื–ืขืจ ืคึผืจืึธื’ืจืึทื ืงืขืจื˜ ืึท ื‘ืจืขื ื’ืขืŸ ื‘ืขื˜ืŸ.

ื“ืขืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื•ื•ื• ืžื™ืจ ื ื•ืฆืŸ ืขืก, ืจื•ืคืŸ this.state.data ืงืขืŸ ืคืึทืจืžื™ื™ื“ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ืกื˜ืึทืจื˜ื™ื ื’. ืฆื• ืกืึธืœื•ื•ืข ื“ืขื ืคึผืจืึธื‘ืœืขื, ืžื™ืจ ืงืขืŸ ื™ื™ึทื ื•ื•ื™ืงืœืขืŸ ื“ืขื ืื™ืŸ ืึท ืงืึทื ื“ื™ืฉืึทื ืึทืœ ืื•ื™ืกื“ืจื•ืง:

if (this.state.data) {
  return this.state.data;
} else {
  return 'Fetching Data';
}

ื ื‘ืขืกืขืจ ืึธืคึผืฆื™ืข ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ "ืึธื“ืขืจ" ืึธืคึผืขืจืึทื˜ืึธืจ.

return (this.state.data || 'Fetching Data');

ืžื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ื˜ื•ื™ืฉืŸ ื“ื™ ืงืึธื“ ืื•ื™ื‘ืŸ ืฆื• ื ื•ืฆืŸ &&. ื“ืขืจ 'ืคืขื˜ื˜ืฉื™ื ื’ ื“ืึทื˜ืึท' && this.state.data ืึธืคึผืขืจืึทื˜ืึธืจ ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ this.state.data ืจืึทื’ืึทืจื“ืœืึทืก ืคื•ืŸ ืฆื™ ืขืก ืื™ื– ืึทื ื“ื™ืคื™ื™ื ื“ ืึธื“ืขืจ ื ื™ืฉื˜.

ืึธืคึผื˜ื™ืึธื ืึทืœ ืงื™ื™ื˜

ืื™ื™ื ืขืจ ืงืขืŸ ืคึฟืึธืจืฉืœืึธื’ืŸ ื ื™ืฆืŸ ืึทืคึผืฉืึทื ืึทืœ ืงื™ื™ื˜ื™ื ื’ ื•ื•ืขืŸ ื˜ืจื™ื™ื ื’ ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ืคืึทืจืžืึธื’ ื˜ื™ืฃ ืื™ืŸ ืึท ื‘ื•ื™ื ืกื˜ืจื•ืงื˜ื•ืจ. ืึทื–ื•ื™, ื“ื™ ืงืฉื™ื ืฆื™ื™ื›ืŸ ืกื™ืžื‘ืึธืœ? ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืฆื•ืจื™ืงืงืจื™ื’ืŸ ืึท ืคืึทืจืžืึธื’ ื‘ืœื•ื™ื– ืื•ื™ื‘ ืขืก ืื™ื– ื ื™ืฉื˜ ื ืึทืœ.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ืงืขืŸ ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ื‘ื™ื™ืฉืคึผื™ืœ ืื•ื™ื‘ืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ืขื. ืฉื˜ืึทื˜. ื“ืึทื˜ืŸ?..(). ืึทื– ืื™ื–, ื“ืึทื˜ืŸ ืื™ื– ืื•ืžื’ืขืงืขืจื˜ ื‘ืœื•ื™ื– ืื•ื™ื‘ ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื ื™ืฉื˜ ื ืึทืœ.

ืึธื“ืขืจ, ืื•ื™ื‘ ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื™ ื“ื™ ืฉื˜ืึทื˜ ืื™ื– ื“ื™ืคื™ื™ื ื“ ืึธื“ืขืจ ื ื™ืฉื˜, ืžื™ืจ ืงืขืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ืขื. ืฉื˜ืึทื˜?. ื“ืึทื˜ืŸ.

ื’ืขืจ ืฆื• ื‘ื•ืœื™ืึทืŸ

ื˜ื™ืคึผ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ ื ืึธืจืžืึทืœ ื‘ื•ืœื™ืึทืŸ ืคืึทื ื’ืงืฉืึทื ื– ืืžืช ืื•ืŸ ืคืึทืœืฉ, ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืื•ื™ืš ื˜ืจื™ืฅ ืึทืœืข ืื ื“ืขืจืข ื•ื•ืึทืœื•ืขืก ื•ื•ื™ ืืžืช ืึธื“ืขืจ ืคืึทืœืฉ.

ื‘ื™ื– ืึทื ื“ืขืจืฉ ื‘ืืžืขืจืงื˜, ืึทืœืข ื•ื•ืึทืœื•ืขืก ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื–ืขื ืขืŸ ืืžืช, ืึทื—ื•ืฅ 0, "", ื ื•ืœ, ืึทื ื“ื™ืคื™ื™ื ื“, NaN ืื•ืŸ, ืคื•ืŸ ืงื•ืจืก, ืคืึทืœืฉ. ื“ื™ ืœืขืฆื˜ืข ื–ืขื ืขืŸ ืคืึทืœืฉ.

ืžื™ืจ ืงืขื ืขืŸ ืœื™ื™ื›ื˜ ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืฆื•ื•ื™ื™ ืžื™ื˜ ื“ื™ ! ืึธืคึผืขืจืึทื˜ืึธืจ, ื•ื•ืึธืก ืื•ื™ืš ืงืึทื ื•ื•ืขืจืฅ ื“ืขื ื˜ื™ืคึผ ืฆื• ื‘ื•ืœื™ืึทืŸ.

const isTrue  = !0;
const isFalse = !1;
const alsoFalse = !!0;
 
console.log(true); // Result: true
console.log(typeof true); // Result: "boolean"

ื’ืขืจ ืฆื• ืฉื˜ืจื™ืงืœ

ื˜ื™ืคึผ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ

ื ืฉื ืขืœ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ืคื•ืŸ ืึท ื’ืึทื ืฅ ื ื•ืžืขืจ ืฆื• ืึท ืฉื˜ืจื™ืงืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ื•ื•ื™ ื’ื™ื™ื˜.

const val = 1 + "";
 
console.log(val); // Result: "1"
console.log(typeof val); // Result: "string"

ืงืึธื ื•ื•ืขืจื˜ ืฆื• ื’ืึทื ืฅ ื ื•ืžืขืจ

ื˜ื™ืคึผ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ

ืžื™ืจ ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ ืคืึทืจืงืขืจื˜ ื˜ืจืึทื ืกืคืึธืจืžืึทืฆื™ืข ื•ื•ื™ ื“ืึธืก.

let int = "15";
int = +int;
 
console.log(int); // Result: 15
console.log(typeof int); Result: "number"

ื“ืขื ืื•ืคึฟืŸ ืงืขื ืขืŸ ืื•ื™ืš ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื‘ื™ื™ึทื˜ืŸ ื“ื™ ื‘ื•ืœื™ืึทืŸ ื“ืึทื˜ืŸ ื˜ื™ืคึผ ืฆื• ืจืขื’ื•ืœืขืจ ื ื•ืžืขืจื™ืง ื•ื•ืึทืœื•ืขืก, ื•ื•ื™ ื’ืขื•ื•ื™ื–ืŸ ืื•ื ื˜ืŸ:

console.log(+true);  // Return: 1
console.log(+false); // Return: 0

ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก ื•ื•ื• + ื•ื•ืขื˜ ื–ื™ื™ืŸ ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“ ื•ื•ื™ ืึท ืงืึทื ืงืึทื˜ืึทื ื™ื™ืฉืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ ืืœื ื•ื•ื™ ืึทืŸ ืึทื“ื™ืฉืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ. ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื“ืขื, ืื™ืจ ื–ืึธืœ ื ื•ืฆืŸ ื˜ื™ืœื“ืขืก: ~~. ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜ ืฆื• -n-1. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ~15 ืื™ื– ื’ืœื™ื™ึทืš ืฆื• -16.

ื ื™ืฆืŸ ืฆื•ื•ื™ื™ ื˜ื™ืœื“ืขืก ืื™ืŸ ืึท ืจื•ื“ืขืจืŸ ื ื™ื’ื™ื™ืฅ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ื•ื•ื™ื™ึทืœ - (- - n - 1) - 1 = n + 1 - 1 = n. ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขืจื˜ืขืจ, ~-16 ืื™ื– ื’ืœื™ื™ึทืš ืฆื• 15.

const int = ~~"15"
console.log(int); // Result: 15
console.log(typeof int); Result: "number"

<Quick Powers

ืึธืคึผืขืจืึทื˜ื™ืึธื ืก

ืกื˜ืึทืจื˜ื™ื ื’ ืื™ืŸ ES7, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ืขืงืกืคึผืึธื ืขื ื˜ื™ืึทื˜ื™ืึธืŸ ืึธืคึผืขืจืึทื˜ืึธืจ ** ื•ื•ื™ ืึท ืกื˜ืขื ืึธื’ืจืึทืคื™ืข ืคึฟืึทืจ ื›ื•ื—ื•ืช. ื“ืึธืก ืื™ื– ืคื™ืœ ืคืึทืกื˜ืขืจ ื•ื•ื™ ื ื™ืฆืŸ Math.pow (2, 3). ืขืก ืžื™ื™ื ื˜ ืคึผืฉื•ื˜, ืึธื‘ืขืจ ื“ืขื ืคื•ื ื˜ ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ืขืจ ืจืฉื™ืžื” ืคื•ืŸ ื˜ืขืงื ื™ืงืก, ื•ื•ื™ื™ึทืœ ืขืก ืื™ื– ื ื™ืฉื˜ ื“ืขืจืžืื ื˜ ืื•ืžืขื˜ื•ื.

console.log(2 ** 3); // Result: 8

ืขืก ื–ืึธืœ ื ื™ื˜ ื–ื™ื™ืŸ ืฆืขืžื™ืฉื˜ ืžื™ื˜ ื“ื™ ^ ืกื™ืžื‘ืึธืœ, ื•ื•ืึธืก ืื™ื– ืึธืคื˜ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืขืงืกืคึผืึธื•ื ืขื ื˜ืฉื™ื™ืฉืึทืŸ. ืึธื‘ืขืจ ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜, ื“ืึธืก ืื™ื– ื“ืขืจ XOR ืึธืคึผืขืจืึทื˜ืึธืจ.

ืื™ื™ื“ืขืจ ES7, ื“ื™ ** ื“ื•ืจื›ื•ื•ืขื’ ืงืขืŸ ื ืึธืจ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืคึฟืึทืจ ื›ื•ื—ื•ืช ืคื•ืŸ ื‘ืึทื–ืข 2 ื ื™ืฆืŸ ื“ื™ ื‘ื™ื˜ื•ื•ื™ื™ื– ืœื™ื ืงืก ื™ื‘ืขืจืจื•ืง ืึธืคึผืขืจืึทื˜ืึธืจ <<:

Math.pow(2, n);
2 << (n - 1);
2**n;

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, 2 << 3 = 16 ืื™ื– ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜ ืฆื• 2 ** 4 = 16.

ืœืึธื–ื  ืฉื•ื•ื™ืžืขืŸ ืฆื• ื’ืึทื ืฅ ื ื•ืžืขืจ

ืึทืคึผืขืจื™ื™ืฉืึทื ื– / ื˜ื™ืคึผ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ

ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ื™ื™ึทื˜ืŸ ืึท ืœืึธื–ื  ืฉื•ื•ื™ืžืขืŸ ืฆื• ืึท ื’ืึทื ืฅ ื ื•ืžืขืจ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ Math.floor(), Math.ceil() ืึธื“ืขืจ Math.round(). ืื‘ืขืจ ืขืก ืื™ื– ืึท ืคืึทืกื˜ืขืจ ื•ื•ืขื’, ืคึฟืึทืจ ื“ืขื ืžื™ืจ ื ื•ืฆืŸ |, ื“ืึธืก ืื™ื–, ื“ื™ OR ืึธืคึผืขืจืึทื˜ืึธืจ.

console.log(23.9 | 0);  // Result: 23
console.log(-23.9 | 0); // Result: -23

ื ืึทื˜ื•ืจ | ื“ืขืคึผืขื ื“ืก ืœืึทืจื’ืขืœื™ ืื•ื™ืฃ ืฆื™ ืื™ืจ ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ positive ืึธื“ืขืจ ื ืขื’ืึทื˜ื™ื•ื• ื ื•ืžืขืจืŸ, ืึทื–ื•ื™ ื“ืขื ืื•ืคึฟืŸ ืื™ื– ืคึผืึทืกื™ืง ื‘ืœื•ื™ื– ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ื–ื™ื›ืขืจ ืื™ืŸ ื•ื•ืึธืก ืื™ืจ ื˜ืึธืŸ.

n | 0 ืจื™ืžื•ื•ื•ื– ืึทืœืฅ ื ืึธืš ื“ื™ ื“ืขืฆื™ืžืึทืœ ืกืขืคึผืึทืจืึทื˜ืึธืจ, ื˜ืจืึทื ื’ืงื™ื™ื˜ื™ื ื’ ื“ื™ ืœืึธื–ื  ืฉื•ื•ื™ืžืขืŸ ืฆื• ืึท ื’ืึทื ืฅ ื ื•ืžืขืจ.

ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื–ืขืœื‘ืข ืจืึทื•ื ื“ื™ื ื’ ื•ื•ื™ืจืงื•ื ื’ ื ื™ืฆืŸ ~~. ื ืึธืš ื’ืขืฆื•ื•ื•ื ื’ืขืŸ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ืฆื• ืึท ื™ื ื˜ืึทื“ื–ืฉืขืจ, ื“ื™ ื•ื•ืขืจื˜ ื‘ืœื™ื™ื‘ื˜ ืึทื ื˜ืฉื™ื™ื ื“ื–ืฉื“.

ืจื™ืžื•ื•ื•ื™ื ื’ ื˜ืจื™ื™ืœื™ื ื’ ื ื•ืžืขืจืŸ

ื“ืขืจ OR ืึธืคึผืขืจืึทื˜ืึธืจ ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ืงื™ื™ืŸ ื ื•ืžืขืจ ืคื•ืŸ ื“ื™ื“ื–ืฉืึทืฅ ืคื•ืŸ ืึท ื ื•ืžืขืจ. ื“ืึธืก ืžื™ื™ื ื˜ ืึทื– ืžื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื’ืขืจ ื˜ื™ื™ืคึผืก ื•ื•ื™ ื“ืึธ:

let str = "1553";
Number(str.substring(0, str.length - 1));

ืึทื ืฉื˜ืึธื˜ ืžื™ืจ ืคืฉื•ื˜ ืฉืจื™ื™ึทื‘ืŸ:

console.log(1553 / 10   | 0)  // Result: 155
console.log(1553 / 100  | 0)  // Result: 15
console.log(1553 / 1000 | 0)  // Result: 1

ืึธื˜ืึทืžืึทื˜ื™ืง ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’

ืงืœืืกืŸ

ES6 ืคื™ื™ึทืœ ื ืึธื•ื˜ื™ื™ืฉืึทื ื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืงืœืึทืก ืžืขื˜ื”ืึธื“ืก, ืื•ืŸ ื‘ื™ื™ื ื“ื™ื ื’ ืื™ื– ื™ืžืคึผืœื™ื™ื“. ื“ืขื ืžื™ื˜ืœ ืื™ืจ ืงืขื ืขืŸ ื–ืึธื’ืŸ ื–ื™ื™ึท ื’ืขื–ื•ื ื˜ ืฆื• ืจื™ืคึผืขื˜ื™ื˜ื™ื•ื• ืื•ื™ืกื“ืจื•ืงืŸ ื•ื•ื™ this.myMethod = this.myMethod.bind(this)!

import React, { Component } from React;
 
export default class App extends Compononent {
  constructor(props) {
  super(props);
  this.state = {};
  }
 
myMethod = () => {
    // This method is bound implicitly!
  }
 
render() {
    return (
      <>
        <div>
          {this.myMethod()}
        </div>
      </>
    )
  }
};

ืžืขื ื’ืข ื˜ืจื™ืžื™ื ื’

ARRAYS

ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื•ื™ืกืฉืœื™ืกืŸ ื•ื•ืึทืœื•ืขืก ืคื•ืŸ ืึท ืžืขื ื’ืข, ืขืก ื–ืขื ืขืŸ ืคืึทืกื˜ืขืจ ืžืขื˜ื”ืึธื“ืก ื•ื•ื™ ืกืคึผืœื™ื™ืก ().

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืกืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ ืžืขื ื’ืข, ืื™ืจ ืงืขื ืขืŸ ืึธื•ื•ื•ืขืจืจื™ื™ื“ ื–ื™ื™ึทืŸ ืœืขื ื’ ืคืึทืจืžืึธื’ ื•ื•ื™ ื’ื™ื™ื˜:

let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array.length = 4;
 
console.log(array); // Result: [0, 1, 2, 3]

ืื‘ืขืจ ืขืก ืื™ื– ืืŸ ืื ื“ืขืจ ืื•ืคึฟืŸ, ืื•ืŸ ืึท ืคืึทืกื˜ืขืจ. ืื•ื™ื‘ ื’ื™ื›ืงื™ื™ึทื˜ ืื™ื– ื•ื•ืึธืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ืื™ืจ, ื“ืึธ ื–ืขื ืขืŸ ืื•ื ื“ื–ืขืจ ืคึผื™ืงืก:

let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array = array.slice(0, 4);
 
console.log(array); // Result: [0, 1, 2, 3]

ื“ืจื•ืงืŸ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจื˜ (s) ืคื•ืŸ ืึท ืžืขื ื’ืข

ARRAYS
ื“ืขื ื˜ืขื›ื ื™ืง ืจื™ืงื•ื•ื™ื™ืขืจื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ ืจืขืคื˜ืœ () ืื•ืคึฟืŸ.

let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
 
console.log(array.slice(-1)); // Result: [9]
console.log(array.slice(-2)); // Result: [8, 9]
console.log(array.slice(-3)); // Result: [7, 8, 9]

ืคืึธืจืžืึทื˜ื˜ื™ื ื’ JSON ืงืึธื“

ื“ื–ืฉืกืึธืŸ

ืื™ืจ ืงืขืŸ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ JSON.stringify. ืฆื™ ื”ืึธื˜ ืื™ืจ ื•ื•ื™ืกืŸ ืึทื– ืขืก ื”ืขืœืคึผืก ืคึฟืึธืจืžืึทื˜ ื“ื™ื™ืŸ JSON?

ื“ืขืจ stringify () ืื•ืคึฟืŸ ื ืขืžื˜ ืฆื•ื•ื™ื™ ืึทืคึผืฉืึทื ืึทืœ ืคึผืึทืจืึทืžืขื˜ืขืจืก: ืึท ืจื™ืคึผืœื™ื™ืกืขืจ ืคึฟื•ื ืงืฆื™ืข, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืคื™ืœื˜ืขืจ ื“ื™ JSON ื’ืขื•ื•ื™ื–ืŸ, ืื•ืŸ ืึท ืคึผืœืึทืฅ ื•ื•ืขืจื˜.

console.log(JSON.stringify({ alpha: 'A', beta: 'B' }, null, 't'));
 
// Result:
// '{
//     "alpha": A,
//     "beta": B
// }'

ืึทื– ืก ืึทืœืข, ืื™ืš ื”ืึธืคึฟืŸ ืึทื– ืึทืœืข ื“ื™ ื˜ืขืงื ื™ืงืก ื–ืขื ืขืŸ ื ื•ืฆื™ืง. ื•ื•ืึธืก ื˜ืจื™ืงืก ื˜ืึธืŸ ืื™ืจ ื•ื•ื™ืกืŸ? ืฉืจื™ื™ื‘ ื–ื™ื™ ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ.

Skillbox ืจืขืงืึทืžืขื ื“ื–:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’