JavaScript 속기 팁 및 요령
Remember, some of these are not readable and might not seems relevant to use in a project, but my intensions here is to make you aware that these tricks exist.
여러 변수에 값 할당
배열 구조 분해를 사용하여 한 줄에 여러 변수에 값을 할당할 수 있습니다.
//Longhand
let a, b, c;
a = 5;
b = 8;
c = 12;
//Shorthand
let [a, b, c] = [5, 8, 12];
기본값 할당
OR(||)
단락 평가 또는 무효 통합 연산자(??)
를 사용하여 예상 값이 거짓인 경우 변수에 기본값을 할당할 수 있습니다.//Longhand
let imagePath;
let path = getImagePath();
if (path !== null && path !== undefined && path !== '') {
imagePath = path;
} else {
imagePath = 'default.jpg';
}
//Shorthand
let imagePath = getImagePath() || 'default.jpg';
// OR
let imagePath = getImagePath() ?? 'default.jpg';
AND(&&) 단락 평가
변수가
true
인 경우에만 함수를 호출하는 경우 이에 대한 대안으로 AND(&&)
단락을 사용할 수 있습니다.//Longhand
if (isLoggedin) {
goToHomepage();
}
//Shorthand
isLoggedin && goToHomepage();
두 변수 교환
두 변수를 교환하기 위해 종종 세 번째 변수를 사용합니다. 배열 분해 할당으로 두 변수를 쉽게 교환할 수 있습니다.
let x = 'Hello', y = 55;
//Longhand
const temp = x;
x = y;
y = temp;
//Shorthand
[x, y] = [y, x];
템플릿 리터럴
일반적으로
+
연산자를 사용하여 문자열 값을 변수와 연결합니다. ES6 템플릿 리터럴을 사용하면 더 간단한 방법으로 할 수 있습니다.//Longhand
console.log('You got a missed call from ' + number + ' at ' + time);
//Shorthand
console.log(`You got a missed call from ${number} at ${time}`);
여러 조건 확인
다중 값 일치를 위해 모든 값을 하나의 배열에 넣고
indexOf()
또는 includes()
방법을 사용할 수 있습니다.//Longhand
if (value === 1 || value === 'one' || value === 2 || value === 'two') {
// Execute some code
}
// Shorthand
if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {
// Execute some code
}
// OR
if ([1, 'one', 2, 'two'].includes(value)) {
// Execute some code
}
개체 속성 할당
변수 이름과 개체 키 이름이 같으면 개체 리터럴에서 키와 값 모두 대신 변수 이름을 언급할 수 있습니다. JavaScript는 자동으로 변수 이름과 동일한 키를 설정하고 값을 변수 값으로 할당합니다.
let firstname = 'Amitav';
let lastname = 'Mishra';
//Longhand
let obj = {firstname: firstname, lastname: lastname};
//Shorthand
let obj = {firstname, lastname};
문자열을 숫자로
문자열 값 앞에 단항 연산자
(+)
를 제공하기만 하면 문자열을 숫자로 변환할 수 있습니다.//Longhand
let total = parseInt('453', 10);
let average = parseFloat('42.6', 10);
//Shorthand
let total = +'453';
let average = +'42.6';
지수 전력
Math.pow()
방법을 사용하여 숫자의 거듭제곱을 찾을 수 있습니다. 이중 별표(**)
를 사용하여 이를 수행하는 더 짧은 구문이 있습니다.//Longhand
const power = Math.pow(4, 3); // 64
// Shorthand
const power = 4**3; // 64
이중 NOT 비트 연산자(~~)
이중 NOT 비트 연산자는
Math.floor()
메서드를 대체합니다.//Longhand
const floor = Math.floor(6.8); // 6
// Shorthand
const floor = ~~6.8; // 6
The double NOT bitwise operator approach only works for 32 bit integers i.e (2**31)-1 = 2147483647. So for any number higher than 2147483647 and less than 0, bitwise operator
(~~)
will give wrong results, so recommended to useMath.floor()
in such case.
배열에서 최대 및 최소 수 찾기
const arr = [2, 8, 15, 4];
Math.max(...arr); // 15
Math.min(...arr); // 2
배열 병합
let arr1 = [20, 30];
//Longhand
let arr2 = arr1.concat([60, 80]); // [20, 30, 60, 80]
//Shorthand
let arr2 = [...arr1, 60, 80]; // [20, 30, 60, 80]
배열에서 잘못된 값 제거
let arr = [12, null, 0, 'xyz', null, -25, NaN, '', undefined, 0.5, false];
let filterArray = arr.filter(Boolean);
// filterArray = [12, "xyz", -25, 0.5]
Note: Zero (0) is considered to be a falsey value so it will be removed in both the cases. You can add an extra check for zero to keep it.
어레이에서 중복 제거
const arr = [10, 5, 20, 10, 6, 5, 8, 5, 20];
const unique = [...new Set(arr)];
console.log(unique); // [10, 5, 20, 6, 8]
임의의 문자열 토큰 생성
const token = Math.random().toString(36).slice(2);
// it will create a 11 character string. Ex: '3efstaz9g8a'
함수에서 예상하는 인수 수 찾기
function func(a, b, c) {
// code
}
console.log(func.length); // 3
// function with Rest parameter
function func(a, b, ...c) {
// code
}
console.log(func.length); // 2
객체에 키가 있는지 확인
const ob = {x: 5, y: 10};
// using "in" operator
console.log('x' in ob); // true
console.log('abc' in ob); // false
// using Reflect object
console.log(Reflect.has(ob, 'x')); // true
console.log(Reflect.has(ob, 'abc')); // false
당신은 또한 좋아할 수 있습니다
시간 내주셔서 감사합니다 ❤️
웹 개발 블로그jscurious.com에서 내 글을 더 찾아보십시오.
Reference
이 문제에 관하여(JavaScript 속기 팁 및 요령), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/amitavmishra99/javascript-shorthand-tips-and-tricks-4i7h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)