ES6 사용 시 몇 가지 팁이 있나요?
이번에는 ES6 사용 꿀팁과 ES6 사용 시 주의사항에 대해 알려드리겠습니다.
다른 꿀팁을 알고 계시다면 메시지를 남겨주세요. 기꺼이 추가하겠습니다.
1. 필수 매개변수
ES6은 기본 매개변수 값 메커니즘을 제공하여 함수 호출 시 이러한 매개변수가 전달되지 않도록 매개변수에 대한 기본값을 설정할 수 있습니다.
아래 예에서는 매개변수 a와 b의 기본값으로 필수() 함수를 작성했습니다. 즉, 호출 시 a 또는 b의 매개변수 중 하나에 값이 전달되지 않으면 필수() 함수가 기본값으로 설정되고 오류가 발생합니다.
const required = () => {throw new Error('Missing parameter')}; const add = (a = required(), b = required()) => a + b; add(1, 2) //3 add(1) // Error: Missing parameter.
2. 강력한 감소
배열의 감소 방법은 매우 다양합니다. 일반적으로 배열의 각 항목을 단일 값으로 줄이는 데 사용됩니다. 하지만 그것으로 더 많은 일을 할 수 있습니다.
2.1 Reduce를 사용하여 맵과 필터를 동시에 구현합니다.
이제 시퀀스가 있고 시퀀스의 각 항목(맵 함수)을 업데이트한 다음 일부를 필터링(필터 함수)한다고 가정합니다. 맵을 먼저 사용한 다음 필터를 사용하는 경우 배열을 두 번 반복해야 합니다.
아래 코드에서는 배열의 값을 두 배로 늘린 다음 50보다 큰 숫자를 선택합니다. map 메소드와 filter 메소드를 모두 완성하기 위해 매우 효율적으로 Reduce를 사용하는 방법에 주목하세요.
const numbers = [10, 20, 30, 40]; const doubledOver50 = numbers.reduce((finalList, num) => { num = num * 2; if (num > 50) { finalList.push(num); } return finalList; }, []); doubledOver50; // [60, 80]
2.2 Reduce를 사용하여 맵과 필터 대체
위 코드를 주의 깊게 읽으면 Reduce가 맵과 필터를 대체할 수 있다는 것을 이해할 수 있을 것입니다.
2.3 괄호 일치를 위해 Reduce 사용
Reduce의 또 다른 용도는 주어진 문자열에서 괄호를 일치시킬 수 있다는 것입니다. 괄호가 포함된 문자열의 경우 (and)의 개수가 일치하는지, (이전에 나타나는지) 여부를 알아야 합니다.
아래 코드에서는 이 문제를 쉽게 해결하기 위해 Reduce를 사용합니다. 먼저 초기 값이 0인 카운터 변수만 선언하면 됩니다. 조우 시 카운터가 1개 증가합니다. (조우 시 카운터가 1개 감소합니다.) 왼쪽과 오른쪽 괄호의 개수가 일치하면 최종 결과는 0입니다.
//Returns 0 if balanced. const isParensBalanced = (str) => { return str.split('').reduce((counter, char) => { if(counter < 0) { //matched ")" before "(" return counter; } else if(char === '(') { return ++counter; } else if(char === ')') { return --counter; } else { //matched some other char return counter; } }, 0); //<-- starting value of the counter } isParensBalanced('(())') // 0 <-- balanced isParensBalanced('(asdfds)') //0 <-- balanced isParensBalanced('(()') // 1 <-- not balanced isParensBalanced(')(') // -1 <-- not balanced
2.4 배열에서 동일한 항목 수 계산하기
배열에서 반복되는 항목 수를 세고 객체로 표현하고 싶을 때가 많습니다. 그런 다음 축소 메소드를 사용하여 이 배열을 처리할 수 있습니다.
다음 코드는 각 유형의 자동차 수를 계산한 후 총 수를 객체로 나타냅니다.
var cars = ['BMW','Benz', 'Benz', 'Tesla', 'BMW', 'Toyota']; var carsObj = cars.reduce(function (obj, name) { obj[name] = obj[name] ? ++obj[name] : 1; return obj; }, {}); carsObj; // => { BMW: 2, Benz: 2, Tesla: 1, Toyota: 1 }
리듀스에는 다른 용도가 너무 많습니다. MDN의 관련 코드 예제를 읽어 보시기 바랍니다.
3. 개체 해체
3.1 불필요한 속성 제거
때때로 특정 개체 속성을 유지하고 싶지 않은 경우가 있는데, 그 이유는 개체 속성에 민감한 정보가 포함되어 있거나 너무 크기 때문일 수 있습니다. 전체 개체를 열거하고 삭제할 수도 있지만 실제로는 쓸모 없는 속성을 변수에 할당한 다음 유지하려는 유용한 부분을 나머지 매개 변수로 전달하면 됩니다.
아래 코드에서는 _internal 및 tooBig 매개변수를 삭제하려고 합니다. 이를 내부 및 tooBig 변수에 할당한 다음 나중에 사용하기 위해 나머지 속성을 cleanObject에 저장할 수 있습니다.
let {_internal, tooBig, ...cleanObject} = {el1: '1', _internal:"secret", tooBig:{}, el2: '2', el3: '3'}; console.log(cleanObject); // {el1: '1', el2: '2', el3: '3'}
3.2 함수 매개변수
에서 중첩 객체 해체하기 아래 코드에서 엔진은 객체 자동차 내에 중첩된 객체입니다. 엔진의 vin 속성에 관심이 있다면 구조 분해 할당을 사용하여 쉽게 얻을 수 있습니다.
var car = { model: 'bmw 2018', engine: { v6: true, turbo: true, vin: 12345 } } const modelAndVIN = ({model, engine: {vin}}) => { console.log(`model: ${model} vin: ${vin}`); } modelAndVIN(car); // => model: bmw 2018 vin: 12345
3.3 객체 병합
ES6에서는 operator(...) 확장 기능을 제공합니다. 일반적으로 배열을 구조 해제하는 데 사용되지만 객체와 함께 사용할 수도 있습니다.
다음으로 스프레드 연산자를 사용하여 새 개체를 확장하고 두 번째 개체의 속성 값이 첫 번째 개체의 속성 값을 덮어씁니다. 예를 들어, object2의 b와 c는 object1과 동일한 이름의 속성을 덮어씁니다.
let object1 = { a:1, b:2,c:3 } let object2 = { b:30, c:40, d:50} let merged = {…object1, …object2} //spread and re-add into merged console.log(merged) // {a:1, b:30, c:40, d:50}
4.Sets
4.1 Set을 사용하여 배열 중복 제거 구현
ES6에서는 Set을 사용하여 고유한 값만 저장하므로 Set을 사용하여 중복을 제거할 수 있습니다.
let arr = [1, 1, 2, 2, 3, 3]; let deduped = [...new Set(arr)] // [1, 2, 3]
4.2 对Set使用数组方法
使用扩展运算符就可以简单的将Set转换为数组。所以你可以对Set使用Array的所有原生方法。
比如我们想要对下面的Set进行filter操作,获取大于3的项。
let mySet = new Set([1,2, 3, 4, 5]); var filtered = [...mySet].filter((x) => x > 3) // [4, 5]
5. 数组解构
有时候你会将函数返回的多个值放在一个数组里。我们可以使用数组解构来获取其中每一个值。
5.1 数值交换
let param1 = 1; let param2 = 2; //swap and assign param1 & param2 each others values [param1, param2] = [param2, param1]; console.log(param1) // 2 console.log(param2) // 1
5.2 接收函数返回的多个结果
在下面的代码中,我们从/post中获取一个帖子,然后在/comments中获取相关评论。由于我们使用的是async/await,函数把返回值放在一个数组中。而我们使用数组解构后就可以把返回值直接赋给相应的变量。
async function getFullPost(){ return await Promise.all([ fetch('/post'), fetch('/comments') ]); } const [post, comments] = getFullPost();
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 ES6 사용 시 몇 가지 팁이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Douyin의 복주머니 활동은 항상 사용자들 사이에서 인기가 높았습니다. 참여하면 다양한 할인과 선물을 받을 수 있을 뿐만 아니라 큰 경품을 받을 수 있는 기회도 있습니다. 하지만 초보자들은 복주머니를 효과적으로 추첨하는 방법과 당첨 확률을 높이는 방법을 이해하지 못할 수도 있습니다. 이 기사에서는 Douyin에서 복주머니를 그리는 몇 가지 팁을 공유하여 그림 그리기의 즐거움을 더 잘 즐기고 큰 상을 받을 가능성을 높일 수 있도록 돕습니다. 1. 인기 있는 복주머니 추천을 선택하고 공식 웹사이트를 팔로우하세요. Douyin 플랫폼에서 공식적으로 인기 있는 복주머니 활동을 자주 시작하며, 이는 홈페이지나 관련 채널에서 자주 볼 수 있습니다. 이러한 이벤트는 일반적으로 매우 인기가 높으며 상품도 넉넉합니다. 따라서 공식적인 권고사항에 주의를 기울이는 것이 현명한 조치입니다. 럭키백을 개봉하기 전, 다른 유저들의 댓글과 리뷰를 읽어보는 것을 권장합니다. 다른 사람의 복권 당첨 경험과 복주머니 감상을 통해

Win11 팁 공유: Microsoft 계정 로그인을 건너뛰는 한 가지 요령 Windows 11은 Microsoft가 출시한 최신 운영 체제로, 새로운 디자인 스타일과 많은 실용적인 기능을 갖추고 있습니다. 그러나 일부 사용자의 경우 시스템을 부팅할 때마다 Microsoft 계정에 로그인해야 하는 것이 다소 성가실 수 있습니다. 당신이 그들 중 하나라면, Microsoft 계정 로그인을 건너뛰고 데스크탑 인터페이스로 직접 들어갈 수 있는 다음 팁을 시도해 볼 수도 있습니다. 먼저 로그인하려면 Microsoft 계정 대신 시스템에 로컬 계정을 만들어야 합니다. 이렇게 하면 장점은

우리는 엑셀로 표를 생성하고 편집하는 일이 많은데 이제 막 소프트웨어를 접한 초보자로서 엑셀을 이용해 표를 만드는 방법은 생각보다 쉽지 않습니다. 아래에서는 초보자, 즉 초보자가 마스터해야 할 테이블 생성의 몇 가지 단계에 대해 몇 가지 훈련을 수행합니다. 초보자를 위한 샘플 양식은 다음과 같습니다. 작성 방법을 살펴보겠습니다! 1. 새로운 엑셀 문서를 만드는 방법은 두 가지가 있습니다. [바탕화면] - [새로 만들기] - [xls] 파일의 빈 곳을 마우스 오른쪽 버튼으로 클릭하시면 됩니다. [시작]-[모든 프로그램]-[Microsoft Office]-[Microsoft Excel 20**]을 사용할 수도 있습니다. 2. 새 ex를 두 번 클릭합니다.

VSCode(Visual Studio Code)는 Microsoft에서 개발한 오픈 소스 코드 편집기로, 강력한 기능과 풍부한 플러그인 지원을 갖추고 있어 개발자가 선호하는 도구 중 하나입니다. 이 기사에서는 초보자가 VSCode 사용 기술을 빠르게 익히는 데 도움이 되는 소개 가이드를 제공합니다. 이번 글에서는 VSCode 설치 방법, 기본적인 편집 작업, 단축키, 플러그인 설치 등을 소개하고, 독자들에게 구체적인 코드 예시를 제공하겠습니다. 1. 먼저 VSCode를 설치하세요.

C 언어에서는 다른 변수의 주소를 저장하는 포인터를 나타내고, &는 변수의 메모리 주소를 반환하는 주소 연산자를 나타냅니다. 포인터 사용에 대한 팁에는 포인터 정의, 포인터 역참조 및 포인터가 유효한 주소를 가리키는지 확인하는 것이 포함됩니다. 주소 연산자 사용에 대한 팁에는 변수 주소 가져오기 및 배열 요소의 주소를 가져올 때 배열의 첫 번째 요소 주소 반환이 포함됩니다. . 문자열을 반전시키기 위해 포인터 및 주소 연산자를 사용하는 방법을 보여주는 실제 예입니다.

Oracle 데이터베이스 쿼리 기술: 하나의 중복 데이터만 얻으려면 특정 코드 예제가 필요합니다. 실제 데이터베이스 쿼리에서는 중복 데이터에서 유일한 데이터를 가져와야 하는 상황이 자주 발생합니다. 이 기사에서는 Oracle 데이터베이스 기술을 사용하여 중복 데이터에서 하나의 레코드만 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 시나리오 설명 중복된 직원 정보가 포함된 직원이라는 테이블이 있다고 가정합니다. 중복된 항목을 모두 찾아야 합니다.

제목: PHP 프로그래밍 팁: 3초 안에 웹 페이지로 이동하는 방법 웹 개발을 하다 보면 일정 시간 내에 자동으로 다른 페이지로 이동해야 하는 상황이 자주 발생합니다. 이 기사에서는 PHP를 사용하여 3초 내에 페이지로 이동하는 프로그래밍 기술을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저, 페이지 점프의 기본 원리는 HTTP 응답 헤더의 Location 필드를 통해 구현됩니다. 이 필드를 설정하면 브라우저가 지정된 페이지로 자동으로 이동할 수 있습니다. 다음은 P를 사용하는 방법을 보여주는 간단한 예입니다.

공개된 Win11 트릭: Microsoft 계정 로그인을 우회하는 방법 최근 Microsoft는 새로운 운영 체제인 Windows11을 출시하여 많은 관심을 받았습니다. 이전 버전에 비해 Windows 11은 인터페이스 디자인과 기능 개선 측면에서 많은 새로운 조정이 이루어졌지만 가장 눈길을 끄는 점은 사용자가 Microsoft 계정으로 시스템에 로그인하도록 강요한다는 것입니다. . 일부 사용자의 경우 로컬 계정으로 로그인하는 데 더 익숙하고 개인 정보를 Microsoft 계정에 바인딩하는 것을 꺼릴 수 있습니다.
