เจเจฆเฉเจ เจฎเฉเจ 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
// }'
เจฌเฉฑเจธ, เจฎเฉเจจเฉเฉฐ เจเจฎเฉเจฆ เจนเฉ เจเจฟ เจเจน เจธเจพเจฐเฉเจเจ เจคเจเจจเฉเจเจพเจ เจเจชเจฏเฉเจเฉ เจธเจจ. เจคเฉเจธเฉเจ เจเจฟเจนเฉเฉเจเจ เจเจพเจฒเจพเจ เจจเฉเฉฐ เจเจพเจฃเจฆเฉ เจนเฉ? เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ.
เจธเจเจฟเฉฑเจฒเจฌเจพเจเจธ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจเจฐเจฆเจพ เจนเฉ:
- เจฆเฉ เจธเจพเจฒเจพ เจชเฉเจฐเฉเจเจเฉเจเจฒ เจเฉเจฐเจธ
"เจฎเฉเจ เจเฉฑเจ เจชเฉเจฐเฉ เจตเฉเฉฑเจฌ เจกเจฟเจตเฉเจฒเจชเจฐ เจนเจพเจ" .- Onlineเจจเจฒเจพเจเจจ เจเฉเจฐเจธ
"0 เจคเฉเจ C# เจกเจฟเจตเฉเจฒเจชเจฐ" .- เจชเฉเจฐเฉเจเจเฉเจเจฒ เจธเจพเจฒ เจฆเจพ เจเฉเจฐเจธ
"0 เจคเฉเจ PRO เจคเฉฑเจ PHP เจกเจฟเจตเฉเจฒเจชเจฐ" .
เจธเจฐเฉเจค: www.habr.com