12 JavaScript เจŸเฉเจฐเจฟเจ•เจธ เจœเฉ‹ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจฏเจฒ เจ–เฉเฉฐเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ

12 JavaScript เจŸเฉเจฐเจฟเจ•เจธ เจœเฉ‹ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจŸเจฟเจŠเจŸเฉ‹เจฐเจฟเจฏเจฒ เจ–เฉเฉฐเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ

เจœเจฆเฉ‹เจ‚ เจฎเฉˆเจ‚ JavaScript เจธเจฟเฉฑเจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ, เจคเจพเจ‚ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจœเฉ‹ เจฎเฉˆเจ‚ เจ•เฉ€เจคเจพ, เจ‰เจน เจธเฉ€ เจŸเฉเจฐเจฟเจ•เจธ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจฟเจธ เจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจฌเจšเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€เฅค เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐเจพเจ‚ เจคเฉ‹เจ‚, เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจพเจˆเจŸเจพเจ‚ เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฟเจ†เฅค

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ JavaScript เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเฉเจงเจพเจฐเจจ เจ…เจคเฉ‡ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฆเฉ‡ 12 เจตเจงเฉ€เจ† เจคเจฐเฉ€เจ•เฉ‡ เจฆเจฟเจ–เจพเจตเจพเจ‚เจ—เจพเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ‰เจน เจธเจฐเจต เจตเจฟเจ†เจชเจ• เจนเจจเฅค

เจ…เจธเฉ€เจ‚ เจฏเจพเจฆ เจฆเจฟเจตเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚: "Habr" เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจชเจพเจ เจ•เจพเจ‚ เจฒเจˆ - "Habr" เจชเฉเจฐเจšเจพเจฐ เจ•เฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจ•เจฟเฉฑเจฒเจฌเจพเจ•เจธ เจ•เฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒเจพ เจฒเฉˆเจฃ เจตเฉ‡เจฒเฉ‡ 10 เจฐเฉ‚เจฌเจฒ เจฆเฉ€ เจ›เฉ‹เจŸเฅค

เจธเจ•เจฟเฉฑเจฒเจฌเจพเจ•เจธ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ: เจชเฉเจฐเฉˆเจ•เจŸเฉ€เจ•เจฒ เจ•เฉ‹เจฐเจธ "เจฎเฉ‹เจฌเจพเจˆเจฒ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจชเฉเจฐเฉ‹".

เจตเจฟเจฒเฉฑเจ–เจฃ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจเจพ

เจเจฐเฉ‡

เจธเฉˆเจŸ เจ†เจฌเจœเฉˆเจ•เจŸ เจ•เจฟเจธเจฎ เจจเฉ‚เฉฐ 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);
}

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจธ เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ‡ เจจเจพเจฒ, for เจฒเฉ‚เจช เจตเจพเจฐ-เจตเจพเจฐ เจเจฐเฉ‡ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจนเจฐ เจฆเฉเจนเจฐเจพเจ… เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ•เจˆ เจตเจพเจฐ เจ‡เจน เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ‡เจน เจเจฐเฉ‡ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจ•เฉˆเจธเจผ เจ•เจฐเจจ เจฒเจˆ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉเจธเจผเจฒ เจนเฉˆ, เจœเจฟเจธ เจฒเจˆ เจ‡เจธ เจคเฉฑเจ• เจ‡เฉฑเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฒเฉฐเจฌเจพเจˆ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจ•เฉ‡ เจ…เจœเจฟเจนเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ i เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚:

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

เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจฒเจ—เจญเจ— เจ‰เจชเจฐเฉ‹เจ•เจค เจตเจพเจ‚เจ— เจนเฉ€, เจชเจฐ เจฒเฉ‚เจช เจฆเจพ เจ†เจ•เจพเจฐ เจตเจงเจพ เจ•เฉ‡ เจธเจพเจจเฉ‚เฉฐ เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฌเฉฑเจšเจค เจฎเจฟเจฒเฉ‡เจ—เฉ€เฅค

เจธเจผเจพเจฐเจŸ เจธเจฐเจ•เจŸ เจฐเฉ‡เจŸเจฟเฉฐเจ— (เจฎเฉˆเจ•เจ•เจพเจฐเจฅเฉ€ เจฐเฉ‡เจŸเจฟเฉฐเจ—)

เจธเจผเจฐเจคเฉ€เจ† เจ†เจชเจฐเฉ‡เจŸเจฐ

เจŸเจฐเจจเจฐเฉ€ เจ“เจชเจฐเฉ‡เจŸเจฐ เจธเจฐเจฒ (เจ…เจคเฉ‡ เจ•เจˆ เจตเจพเจฐ เจ‡เฉฐเจจเจพ เจธเจฐเจฒ เจจเจนเฉ€เจ‚) เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฆเจพ เจ‡เฉฑเจ• เจคเฉ‡เจœเจผ เจ…เจคเฉ‡ เจ•เฉเจธเจผเจฒ เจคเจฐเฉ€เจ•เจพ เจนเฉˆ:

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

เจฎเจฟเจธเจพเจฒ 1

เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจ•เจฟเจธเจฎ เจจเจนเฉ€เจ‚ เจชเจคเจพเฅค

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ if/else เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ foo เจธเจนเฉ€ เจ•เจฟเจธเจฎ เจนเฉˆ, เจชเจฐ เจ‡เจน เจตเจฟเจงเฉ€ เจฌเจนเฉเจค เจฒเฉฐเจฌเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจธเจพเจกเจพ "เจธเจผเจพเจฐเจŸ เจธเจฐเจ•เจŸ" เจฒเฉˆเจฃเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆ.

return (foo || []).length;

เจœเฉ‡เจ•เจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ foo เจฆเฉ€ เจ‡เฉฑเจ• เจขเฉเจ•เจตเฉ€เจ‚ เจฒเฉฐเจฌเจพเจˆ เจนเฉˆ, เจคเจพเจ‚ เจ‰เจน เจตเจพเจชเจธ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ 0 เจฎเจฟเจฒเฉ‡เจ—เจพเฅค

เจฎเจฟเจธเจพเจฒ 2

เจ•เฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเฉ‡เจธเจŸเจก เจ†เจฌเจœเฉˆเจ•เจŸ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจ†เจˆเจ†เจ‚ เจนเจจ? เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจจเจพ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹เจตเฉ‹ เจ•เจฟ เจ•เฉ€ เจ•เฉ‹เจˆ เจตเจธเจคเฉ‚ เจœเจพเจ‚ เจ‡เจธเจฆเฉ€ เจ‰เจช-เจชเฉเจฐเจพเจชเจฐเจŸเฉ€ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจชเฉˆเจฆเจพ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ this.state เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจธเฉฐเจชเฉฑเจคเฉ€ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€, เจชเจฐ เจกเฉ‡เจŸเจพ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจธเจพเจกเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ‡เฉฑเจ• เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจตเจพเจชเจธ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพเฅค

เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเฉฑเจฅเฉ‡ เจตเจฐเจคเจฆเฉ‡ เจนเจพเจ‚, this.state.data เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฐเฉ‹เจ• เจธเจ•เจฆเจพ เจนเฉˆเฅค เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเจผเจฐเจคเฉ€เจ† เจธเจฎเฉ€เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚:

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

เจ‡เฉฑเจ• เจฌเจฟเจนเจคเจฐ เจตเจฟเจ•เจฒเจช "เจœเจพเจ‚" เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

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

เจ…เจธเฉ€เจ‚ && เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ‰เฉฑเจชเจฐ เจฆเจฟเฉฑเจคเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡เฅค 'เจกเฉ‡เจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ' && this.state.data เจ†เจชเจฐเฉ‡เจŸเจฐ เจ‡เจธ.state.data เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐเฉ‡เจ—เจพ เจญเจพเจตเฉ‡เจ‚ เจ‡เจน เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจนเฉˆ เจœเจพเจ‚ เจจเจนเฉ€เจ‚เฅค

เจตเจฟเจ•เจฒเจชเจฟเจ• เจšเฉ‡เจจ

เจ•เฉ‹เจˆ เจตเจฟเจ…เจ•เจคเฉ€ เจตเจฟเจ•เจฒเจชเจฟเจ• เจšเฉ‡เจจเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจธเฉเจเจพเจ… เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจธเฉฐเจชเจคเฉ€ เจจเฉ‚เฉฐ เจฐเฉเฉฑเจ– เจฆเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจกเฉ‚เฉฐเจ˜เจพเจˆ เจจเจพเจฒ เจตเจพเจชเจธ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจชเฉเจฐเจธเจผเจจ เจšเจฟเฉฐเจจเฉเจน เจšเจฟเฉฐเจจเฉเจน? เจ•เจฟเจธเฉ‡ เจธเฉฐเจชเจคเฉ€ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เจน เจ–เจพเจฒเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ this.state.data?...() เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจจ เจจเฉ‚เฉฐ เจฐเฉ€เจซเฉˆเจ•เจŸเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค เจญเจพเจต, เจกเฉ‡เจŸเจพ เจคเจพเจ‚ เจนเฉ€ เจตเจพเจชเจธ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจฎเฉเฉฑเจฒ เจ–เจพเจฒเฉ€ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค

เจœเจพเจ‚, เจœเฉ‡เจ•เจฐ เจ‡เจน เจฎเจพเจ‡เจจเฉ‡ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจ•เจฟ เจฐเจพเจœ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเจพเจ‚ เจจเจนเฉ€เจ‚, เจ…เจธเฉ€เจ‚ เจ‡เจธ.เจธเจŸเฉ‡เจŸ?.เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

เจฌเฉเจฒเฉ€เจ…เจจ เจตเจฟเฉฑเจš เจฌเจฆเจฒเฉ‹

เจชเฉเจฐเจ•เจพเจฐ เจฐเฉ‚เจชเจพเจ‚เจคเจฐเจจ

เจธเจงเจพเจฐเจฃ เจฌเฉ‚เจฒเฉ€เจ…เจจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจธเจนเฉ€ เจ…เจคเฉ‡ เจ—เจฒเจค เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, JavaScript เจนเฉ‹เจฐ เจธเจพเจฐเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ€ เจธเฉฑเจš เจœเจพเจ‚ เจ—เจฒเจค เจฎเฉฐเจจเจฆเจพ เจนเฉˆเฅค

เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจนเฉ‹เจฐ เจจเฉ‹เจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ, JavaScript เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจฎเฉเฉฑเจฒ เจธเฉฑเจšเฉ‡ เจนเจจ, เจธเจฟเจตเจพเจ 0, "", null, undefined, 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"

<เจคเฉ‡เจœเจผ เจธเจผเจ•เจคเฉ€เจ†เจ‚

เจ“เจชเจฐเฉ‡เจธเจผเจจ

ES7 เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจธเฉ€เจ‚ เจธเจผเจ•เจคเฉ€เจ†เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเจผเจพเจฐเจŸเจนเฉˆเจ‚เจก เจตเจœเฉ‹เจ‚ เจเจ•เจธเจชเฉ‹เจจเจŸเฉ€เจเจธเจผเจจ เจ“เจชเจฐเฉ‡เจŸเจฐ ** เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจน Math.pow(2, 3) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจคเฉ‡เจœเจผ เจนเฉˆเฅค เจ‡เจน เจธเจงเจพเจฐเจจ เจœเจพเจชเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจฌเจฟเฉฐเจฆเฉ‚ เจคเจ•เจจเฉ€เจ•เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธเจฆเจพ เจนเจฐ เจฅเจพเจ‚ เจœเจผเจฟเจ•เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ.

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

เจ‡เจธเจจเฉ‚เฉฐ ^ เจšเจฟเฉฐเจจเฉเจน เจจเจพเจฒ เจ‰เจฒเจเจฃ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจชเจพเจ‡เจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฟเจ†เจ–เจฟเจ† เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจชเจฐ JavaScript เจตเจฟเฉฑเจš เจ‡เจน 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

เจตเจฟเจนเจพเจฐ | เจฌเจนเฉเจค เจนเฉฑเจฆ เจคเฉฑเจ• เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจœเจพเจ‚ เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจ‡เจธ เจฒเจˆ เจ‡เจน เจตเจฟเจงเฉ€ เจ•เฉ‡เจตเจฒ เจคเจพเจ‚ เจนเฉ€ เจขเฉเจ•เจตเฉ€เจ‚ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ•เฉ€ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹เฅค

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 เจคเฉ€เจฐ เจธเฉฐเจ•เฉ‡เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฒเจพเจธ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจจเจฟเจธเจผเจšเจฟเจค เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจฒเจตเจฟเจฆเจพ เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเฉ‹. 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>
      </>
    )
  }
};

เจเจฐเฉ‡ เจŸเฉเจฐเจฟเจฎเจฟเฉฐเจ—

เจเจฐเฉ‡

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจเจฐเฉ‡ เจคเฉ‹เจ‚ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจธเจชเจฒเจพเจ‡เจธ() เจจเจพเจฒเฉ‹เจ‚ เจคเฉ‡เจœเจผ เจขเฉฐเจ— เจนเจจเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ…เจธเจฒ เจเจฐเฉ‡ เจฆเจพ เจ†เจ•เจพเจฐ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

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]

เจ‡เฉฑเจ• เจเจฐเฉ‡ เจฆเฉ‡ เจ†เจ–เจฐเฉ€ เจฎเฉเฉฑเจฒ(เจ†เจ‚) เจจเฉ‚เฉฐ เจ›เจพเจชเจฃเจพ

เจเจฐเฉ‡
เจ‡เจธ เจคเจ•เจจเฉ€เจ• เจฒเจˆ slice() เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

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

เจคเฉเจธเฉ€เจ‚ เจธเจผเจพเจ‡เจฆ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ JSON.stringify เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเฉ‹เฅค เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‡เจน เจคเฉเจนเจพเจกเฉ‡ JSON เจจเฉ‚เฉฐ เจซเจพเจฐเจฎเฉˆเจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ?

stringify() เจตเจฟเจงเฉ€ เจฆเฉ‹ เจตเจฟเจ•เจฒเจชเจฟเจ• เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉˆเจ‚เจฆเฉ€ เจนเฉˆ: เจ‡เฉฑเจ• เจฐเฉ€เจชเจฒเฉ‡เจธเจฐ เจซเฉฐเจ•เจธเจผเจจ, เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ JSON เจกเจฟเจธเจชเจฒเฉ‡เจ… เจจเฉ‚เฉฐ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเจชเฉ‡เจธ เจฎเฉเฉฑเจฒเฅค

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

เจฌเฉฑเจธ, เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจพเจฐเฉ€เจ†เจ‚ เจคเจ•เจจเฉ€เจ•เจพเจ‚ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจธเจจ. เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจšเจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹? เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹.

เจธเจ•เจฟเฉฑเจฒเจฌเจพเจ•เจธ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹