목차
1. 변수 할당
2. 기본값 할당
3입니다. 객체 속성
4. 화살표 함수
5입니다. 암시적 반환 값
6입니다. 기본 매개변수 값
7. 템플릿 문자열
8. 구조 분해 할당
9. 🎜 # 스프레드 연산자는 ES6에서 도입되었습니다. 스프레드 연산자를 사용하면 JavaScript 코드를 더욱 효율적이고 흥미롭게 만들 수 있습니다.
기본적으로 그렇지 않은 경우 함수 매개변수가 값으로 전달되면 JavaScript는 함수 매개변수를 정의되지 않음으로 설정합니다. 다른 언어에서는 경고나 오류가 발생합니다. 매개변수 할당을 수행하려면 if 문을 사용하여 정의되지 않은 오류를 발생시키거나 "강제 매개변수"를 활용할 수 있습니다.
일반 JavaScript로 찾기 기능을 작성한 적이 있다면 아마도 A for 루프를 사용하십시오. ES6에서는 for 루프 구현을 단축하는 find()라는 새로운 배열 함수가 도입되었습니다.
foo.bar를 foo ['bar']로 작성하는 것은 일반적인 관행이지만 재사용 가능한 코드 작성의 기초를 형성하는 관행입니다.
비트 연산자는 JavaScript 초보자 튜토리얼의 기본 지식이지만 비트 연산자를 자주 사용하지 않습니다. 누구도 바이너리를 다루지 않고 1과 0으로 작업하고 싶어하지 않기 때문입니다.
웹 프론트엔드 JS 튜토리얼 JavaScript 개발자가 알아야 할 단축 팁(고급)

JavaScript 개발자가 알아야 할 단축 팁(고급)

Oct 19, 2018 pm 02:41 PM
자바스크립트 개발

이 글은 JavaScript 개발자가 알아야 할 (고급) 약어 기술을 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 변수 할당

한 변수의 값을 다른 변수에 할당할 때 먼저 원래 값이 null이 아닌지, 정의되지 않았는지 확인해야 합니다. 빈 값.

은 여러 조건이 포함된 판단문을 작성하여 달성할 수 있습니다:

if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
     let variable2 = variable1;
}
로그인 후 복사

또는 다음 형식으로 축약됩니다.

const variable2 = variable1  || 'new';
로그인 후 복사

다음을 변경할 수 있습니다. 코드를 es6console에 붙여넣고 직접 테스트해 보세요.

let variable1;
let variable2 = variable1  || '';
console.log(variable2 === ''); // prints true
variable1 = 'foo';
variable2 = variable1  || '';
console.log(variable2); // prints foo
로그인 후 복사

2. 기본값 할당

예상 매개변수가 null이거나 정의되지 않은 경우 6줄을 작성할 필요가 없습니다. 기본값을 할당하는 코드입니다. 짧은 논리 연산자만 사용하면 단 한 줄의 코드로 동일한 작업을 수행할 수 있습니다.

let dbHost;
if (process.env.DB_HOST) {
  dbHost = process.env.DB_HOST;
} else {
  dbHost = 'localhost';
}
로그인 후 복사

약어는

const dbHost = process.env.DB_HOST || 'localhost';
로그인 후 복사

3입니다. 객체 속성

ES6은 객체에 속성을 할당하는 매우 간단한 방법을 제공합니다. 속성 이름이 키 이름과 동일한 경우 약어를 사용할 수 있습니다.

const obj = { x:x, y:y };
로그인 후 복사

약어는 다음과 같습니다.

const obj = { x, y };
로그인 후 복사

4. 화살표 함수

클래식 함수는 읽고 쓰기 쉽지만 다른 함수에 중첩되어 있는 경우 기능 호출을 할 때 전체 기능이 약간 길어지고 혼란스러워집니다. 이때 화살표 기능을 사용하여 축약할 수 있습니다:

function sayHello(name) {
  console.log('Hello', name);
}
 
setTimeout(function() {
  console.log('Loaded')
}, 2000);
 
list.forEach(function(item) {
  console.log(item);
});
로그인 후 복사

약어는

sayHello = name => console.log('Hello', name);
setTimeout(() => console.log('Loaded'), 2000);
list.forEach(item => console.log(item));
로그인 후 복사

5입니다. 암시적 반환 값

The return 값은 함수의 최종 결과를 반환하기 위해 일반적으로 키워드를 사용하는 것입니다. 명령문이 하나만 있는 화살표 함수는 암시적으로 결과를 반환할 수 있습니다(함수는 return 키워드를 생략하려면 괄호({ })를 생략해야 합니다).

여러 줄 문(예: 개체 텍스트)을 반환하려면 { } 대신 ()를 사용하여 함수 본문을 래핑해야 합니다. 이렇게 하면 코드가 단일 문으로 평가됩니다.

function calcCircumference(diameter) {
  return Math.PI * diameter
}
로그인 후 복사

약어는

calcCircumference = diameter => (
  Math.PI * diameter;
)
로그인 후 복사

6입니다. 기본 매개변수 값

if 문을 사용하여 함수 매개변수의 기본값을 정의할 수 있습니다. . ES6에서는 함수 선언에서 기본값을 정의할 수 있습니다.

function volume(l, w, h) {
  if (w === undefined)
    w = 3;
  if (h === undefined)
    h = 4;
  return l * w * h;
}
로그인 후 복사

약어는 다음과 같습니다.

volume = (l, w = 3, h = 4 ) => (l * w * h);
volume(2) //output: 24
로그인 후 복사

7. 템플릿 문자열

과거에는 "+"를 사용하여 여러 변수를 변환했습니다. strings 로 변환하지만 더 쉬운 방법이 있나요?

ES6은 해당 메소드를 제공하므로 백틱과 $ { }를 사용하여 변수를 문자열로 결합할 수 있습니다.

const welcome = 'You have logged in as ' + first + ' ' + last + '.'
const db = 'http://' + host + ':' + port + '/' + database;
로그인 후 복사

약어:

const welcome = `You have logged in as ${first} ${last}`;
const db = `http://${host}:${port}/${database}`;
로그인 후 복사

8. 구조 분해 할당

구조 분해 할당은 배열이나 객체에서 빠르게 추출하는 데 사용되는 표현식입니다. 정의된 변수에 값이 할당됩니다.

코드 약어 측면에서는 구조 분해 할당을 사용하면 좋은 결과를 얻을 수 있습니다.

const observable = require('mobx/observable');
const action = require('mobx/action');
const runInAction = require('mobx/runInAction');
const store = this.props.store;
const form = this.props.form;
const loading = this.props.loading;
const errors = this.props.errors;
const entity = this.props.entity;
로그인 후 복사

약어는 다음과 같습니다:

import { observable, action, runInAction } from 'mobx';
const { store, form, loading, errors, entity } = this.props;
로그인 후 복사

자신만의 변수 이름을 지정할 수도 있습니다:

const { store, form, loading, errors, entity:contact } = this.props;
로그인 후 복사

9. 🎜 # 스프레드 연산자는 ES6에서 도입되었습니다. 스프레드 연산자를 사용하면 JavaScript 코드를 더욱 효율적이고 흥미롭게 만들 수 있습니다.

일부 배열 함수는 스프레드 연산자를 사용하여 대체할 수 있습니다.

// joining arrays
const odd = [1, 3, 5];
const nums = [2 ,4 , 6].concat(odd);
 
// cloning arrays
const arr = [1, 2, 3, 4];
const arr2 = arr.slice( )
로그인 후 복사

약어는 다음과 같습니다.

// joining arrays
const odd = [1, 3, 5 ];
const nums = [2 ,4 , 6, ...odd];
console.log(nums); // [ 2, 4, 6, 1, 3, 5 ]
 
// cloning arrays
const arr = [1, 2, 3, 4];
const arr2 = [...arr];
로그인 후 복사

concat() 함수와의 차이점은 사용자가 스프레드 연산자를 사용하여 임의의 배열에 다른 배열을 삽입할 수 있다는 것입니다.

const odd = [1, 3, 5 ];
const nums = [2, ...odd, 4 , 6];
로그인 후 복사

ES6 구조 분해 기호와 함께 스프레드 연산자를 사용할 수도 있습니다:

const { a, b, ...z } = { a: 1, b: 2, c: 3, d: 4 };
console.log(a) // 1
console.log(b) // 2
console.log(z) // { c: 3, d: 4 }
로그인 후 복사

10 필수 매개변수

기본적으로 그렇지 않은 경우 함수 매개변수가 값으로 전달되면 JavaScript는 함수 매개변수를 정의되지 않음으로 설정합니다. 다른 언어에서는 경고나 오류가 발생합니다. 매개변수 할당을 수행하려면 if 문을 사용하여 정의되지 않은 오류를 발생시키거나 "강제 매개변수"를 활용할 수 있습니다.

function foo(bar) {
  if(bar === undefined) {
    throw new Error('Missing parameter!');
  }
  return bar;
}
로그인 후 복사

약어는 다음과 같습니다.

mandatory = ( ) => {
  throw new Error('Missing parameter!');
}
foo = (bar = mandatory( )) => {
  return bar;
}
로그인 후 복사

11, Array.find

일반 JavaScript로 찾기 기능을 작성한 적이 있다면 아마도 A for 루프를 사용하십시오. ES6에서는 for 루프 구현을 단축하는 find()라는 새로운 배열 함수가 도입되었습니다.

const pets = [
  { type: 'Dog', name: 'Max'},
  { type: 'Cat', name: 'Karl'},
  { type: 'Dog', name: 'Tommy'},
]
function findDog(name) {
  for(let i = 0; i<pets.length; ++i) {
    if(pets[i].type === &#39;Dog&#39; && pets[i].name === name) {
      return pets[i];
    }
  }
}
로그인 후 복사

약어는 다음과 같습니다.

pet = pets.find(pet => pet.type ==='Dog' && pet.name === 'Tommy');
console.log(pet); // { type: 'Dog', name: 'Tommy' }
로그인 후 복사

12. Object [key]

foo.bar를 foo ['bar']로 작성하는 것은 일반적인 관행이지만 재사용 가능한 코드 작성의 기초를 형성하는 관행입니다.

다음의 간단한 검증 기능 예를 고려해 보세요.

function validate(values) {
  if(!values.first)
    return false;
  if(!values.last)
    return false;
  return true;
}
console.log(validate({first:'Bruce',last:'Wayne'})); // true
로그인 후 복사

위 함수는 검증 작업을 완벽하게 완료합니다. 하지만 양식이 많으면 유효성 검사를 적용해야 하며 필드와 규칙도 달라집니다. 런타임에 구성할 수 있는 일반 유효성 검사 기능을 구축할 수 있다면 좋은 선택이 될 것입니다.

// object validation rules
const schema = {
  first: {
    required:true
  },
  last: {
    required:true
  }
}
 
// universal validation function
const validate = (schema, values) => {
  for(field in schema) {
    if(schema[field].required) {
      if(!values[field]) {
        return false;
      }
    }
  }
  return true;
}
console.log(validate(schema, {first:'Bruce'})); // false
console.log(validate(schema, {first:'Bruce',last:'Wayne'})); // true
로그인 후 복사

이제 이 유효성 검사 기능을 사용하면 각 양식에 대해 사용자 정의 유효성 검사 함수를 작성하지 않고도 모든 양식에서 재사용할 수 있습니다.

13. 이중 비트 연산자

비트 연산자는 JavaScript 초보자 튜토리얼의 기본 지식이지만 비트 연산자를 자주 사용하지 않습니다. 누구도 바이너리를 다루지 않고 1과 0으로 작업하고 싶어하지 않기 때문입니다.

하지만 이중 비트 연산자에는 매우 실용적인 경우가 있습니다. Math.floor() 대신 이중 비트 연산자를 사용할 수 있습니다. 이중 부정 위치 지정 연산자의 장점은 동일한 작업을 더 빠르게 수행한다는 것입니다.

Math.floor(4.9) === 4  //true
로그인 후 복사

약어는 다음과 같습니다.

~~4.9 === 4  //true
로그인 후 복사

위 내용은 #에 대해 더 알고 싶은 경우 JavaScript 개발자가 알아야 할(고급) 약어 기술에 대한 완전한 소개입니다. 🎜🎜 #JavaScriptVideoTutorial

, PHP 중국어 웹사이트를 주목해주세요.

위 내용은 JavaScript 개발자가 알아야 할 단축 팁(고급)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

심층 비교: VSCode와 Visual Studio의 기능적 차이점 심층 비교: VSCode와 Visual Studio의 기능적 차이점 Mar 25, 2024 pm 05:33 PM

제목: 심층 비교: VSCode와 Visual Studio의 기능적 차이, 특정 코드 예제가 필요합니다. 프런트엔드 코드를 작성하든 백엔드 코드를 작성하든, 개발자는 작업 개선을 위해 자신에게 적합한 통합 개발 환경(IDE)을 선택해야 하는 경우가 많습니다. 능률. 많은 IDE 중에서 VSCode와 Visual Studio가 인기 있는 두 가지 제품입니다. 이 기사에서는 두 IDE 간의 기능적 차이점을 심층적으로 비교하고 특정 코드 예제를 통해 이를 보여줍니다. VSCode는 Microsoft에서 출시되었습니다.

Layui는 프론트엔드 프레임워크인가요? Layui는 프론트엔드 프레임워크인가요? Apr 01, 2024 pm 11:36 PM

정답은. Layui는 인터페이스 구성 요소, 데이터 조작, 차트, 애니메이션 및 반응형 디자인과 같은 기능을 포함하여 최신 웹 애플리케이션을 구축하기 위한 사전 정의된 구성 요소 및 도구 세트를 제공하는 프런트 엔드 프레임워크입니다.

ECharts는 jQuery에 의존합니까? 심층 분석 ECharts는 jQuery에 의존합니까? 심층 분석 Feb 27, 2024 am 08:39 AM

ECharts는 jQuery에 의존해야 합니까? 자세한 해석을 위해서는 특정 코드 예제가 필요합니다. ECharts는 다양한 차트 유형과 대화형 기능을 제공하고 웹 개발에 널리 사용되는 뛰어난 데이터 시각화 라이브러리입니다. ECharts를 사용할 때 많은 사람들은 다음과 같은 질문을 갖게 됩니다. ECharts는 jQuery에 의존해야 합니까? 이 기사에서는 이에 대해 자세히 설명하고 구체적인 코드 예제를 제공합니다. 우선, ECharts 자체는 jQuery에 의존하지 않습니다.

JavaScript 개발 시 템플릿 엔진 선택 및 사용 경험 공유 JavaScript 개발 시 템플릿 엔진 선택 및 사용 경험 공유 Nov 04, 2023 am 11:42 AM

JavaScript 개발에서 템플릿 엔진 선택 및 사용에 대한 경험 공유 소개: 최신 프런트 엔드 개발에서 템플릿 엔진(TemplateEngine)은 중요한 역할을 합니다. 이를 통해 개발자는 대량의 동적 데이터를 보다 효율적으로 구성하고 관리할 수 있으며 인터페이스 표시에서 데이터를 효과적으로 분리할 수 있습니다. 동시에 적절한 템플릿 엔진을 선택하면 개발자에게 더 나은 개발 경험과 성능 최적화를 가져올 수도 있습니다. 하지만 수많은 JavaScript 템플릿 엔진 중에서 어떤 것을 선택해야 할까요? 잡다

일반적으로 vscode는 무엇을 작성하는 데 사용됩니까? 일반적으로 vscode는 무엇을 작성하는 데 사용됩니까? Mar 14, 2024 pm 05:54 PM

VSCode는 다양한 프로그래밍 언어와 파일 형식을 지원하는 강력한 코드 편집기입니다. JavaScript, Python, Java, C++, TypeScript, HTML/CSS, Go 및 기타 언어에 대한 지원이 내장되어 있으며 Rust, C#, Objective-C, PHP, 루비, 스위프트, SQL, XML 등

XPath를 사용하여 JavaScript의 지정된 DOM 노드에서 검색하는 방법은 무엇입니까? XPath를 사용하여 JavaScript의 지정된 DOM 노드에서 검색하는 방법은 무엇입니까? Apr 04, 2025 pm 11:15 PM

JavaScript의 DOM 노드에서 XPath 검색 방법에 대한 자세한 설명은 종종 XPath 표현식을 기반으로 DOM 트리에서 특정 노드를 찾아야합니다. 필요하다면 ...

SAP, Datasphere 플랫폼을 강화하는 수많은 새로운 생성 AI 기능 발표 SAP, Datasphere 플랫폼을 강화하는 수많은 새로운 생성 AI 기능 발표 Mar 07, 2024 pm 06:55 PM

SAP는 다수의 새로운 생성 AI 기능을 출시하고 있으며 이러한 기능은 곧 SAP Datasphere 플랫폼에서 제공될 예정입니다. SAP는 최신 업데이트 기능이 사용자에게 보다 직관적인 비즈니스 데이터 상호 작용 경험을 제공하고 기업의 보다 스마트한 변화를 촉진하는 데 도움이 될 것이라고 말했습니다. 이러한 새로운 기능에는 다양한 데이터 분석 작업을 자동화하는 부조종사 도구와 고급 생성 AI 워크로드를 지원하는 벡터 데이터베이스 기능이 포함됩니다. 또한 복잡한 데이터 세트에서 다양한 통찰력과 패턴을 드러내는 새로운 지식 그래프가 출시되었습니다. 이러한 기능의 도입으로 사용자는 보다 효율적인 작업 흐름을 제공하고, 데이터 분석 기능을 향상시키며, 기업 의사 결정에 대한 보다 포괄적인 지원을 제공할 수 있습니다. 2023년 3월 SAP Datasphere

JavaScript의 두 지점 사이의 각도를 효율적으로 계산하는 방법은 무엇입니까? JavaScript의 두 지점 사이의 각도를 효율적으로 계산하는 방법은 무엇입니까? Apr 04, 2025 pm 07:36 PM

JavaScript에서는 종종 다른 지점에 대한 한 지점의 두 지점 (라디안) 사이의 각도를 계산해야합니다.

See all articles