JavaScript의 문법 사탕 예
18841 단어 codenewbiewebdevjavascriptbeginners
문법사탕은 더욱 간결한 문법 용어로 이미 존재하는 물건에 똑같은 기능을 제공한다.그것의 목적은 코드를 더욱 짧게 해서 더욱 쉽게 작성하는 것이다.새로운 기능이 도입되지 않았다.
그것은 문법사탕이라고 불린다. 왜냐하면 더 깨끗한 문법은 코드를 더욱 달콤하게 하고 사용하기 쉽기 때문이다.어법설탕은 ES6+ 기능을 통해 도입됐다.
이 블로그에서는 JavaScript의 문법 사탕의 몇 가지 예를 살펴보겠습니다.
for...of
회로 위하다... 에 속하다
for...of
순환은 for
순환이다.for
순환은 조건의 계산 결과true
만 있으면 이 순환을 실행합니다.그것은 세 가지 선택할 수 있는 표현식을 포함한다. 초기화, 조건, 최종 표현식이다.이 예에서, 우리는
aircrafts
그룹을 순환하고, 그룹의 모든 항목을 인쇄합니다.// Create an array of aircrafts
let aircrafts = ['the bus', 'zephyr one', 'quinjet']
// Loop over the entire array of aircrafts
for (let i = 0; i < aircrafts.length; i++) {
// print the item at index i of the aircrafts array
console.log(aircrafts[i])
}
// Output:
// 'the bus'
// 'zephyr one'
// 'quinjet'
for...of
순환은 for
순환과 같은 기능을 실현했지만 문법이 더 짧았다.그것은 그룹, 문자열, 집합 등 다시 사용할 수 있는 항목에서 순환한다.구문은 다음과 같습니다.
for (variable of iterable) {
// statement that executes for each variable
}
본 예에서 우리는 상술한 예와 같은 기능을 실현하였다.우리는 aircrafts
수조에서 수조의 모든 항목을 순환하고 출력합니다.for...of
순환하는 문법을 사용하는 것이 더 짧다.// Create an array of aircrafts
let aircrafts = ['the bus', 'zephyr one', 'quinjet']
// Loop over the entire array of aircrafts
for (let i of aircrafts) {
// Print the item at index i of the aircrafts array
console.log(i)
}
// Output:
// 'the bus'
// 'zephyr one'
// 'quinjet'
해체하다
Destructuring은 객체나 배열의 항목에서 속성을 할당하여 새 변수를 만드는 구문 캔디입니다.분해 구조는 대상과 그룹에 모두 유효하다.
다음은 분해하지 않고 대상 속성에서 새로운 변수를 만드는 방법입니다.이 예에서 우리는 하나의 대상
agent
이 있는데 세 가지 속성을 가지고 있다.우리는 새 변수를 만들고 그 값을 대상에서 가져올 속성에 지정합니다.예를 들어 우리는 name
대상의 값name
을 사용하여 agent
변수를 만들었다.만약 우리가 추출해야 할 대상 속성이 더 많다면, 이것은 곧 지루해질 것이다. 왜냐하면 우리는 모든 새로운 변수를 한 줄 한 줄 만들어야 하기 때문이다.
// Create agent object with properties: name, nickname, power
let agent = {
name: 'daisy',
nickname: 'quake',
power: 'vibration',
}
// Create new variables and assign them to properties from the agent object
let name = agent.name
let nickname = agent.nickname
let power = agent.power
console.log(name) // 'daisy'
console.log(nickname) // 'quake'
console.log(power) // 'vibration'
추출 대상의 속성 이름을 어떻게 쉽게 하는지 분해해 봅시다.위의 예와 같이, 우리는 대상의 속성을 만들고 분배하지만, 단지 한 줄만 해체를 사용했다.
// Create agent object with properties: name, nickname, power
let agent = {
name: 'daisy',
nickname: 'quake',
power: 'vibration',
}
// Use destructuring to create new variables and assign them values from the agent object
let { name, nickname, power } = agent
console.log(name) // 'daisy'
console.log(nickname) // 'quake'
console.log(power) // 'vibration'
해체를 통해 우리는 대상 키 이외의 값을 사용하여 새로운 변수 이름을 지정할 수 있다.이 예에서 우리는 새로운 변수
superheroName
를 만들고 'quake'
'agents
속성에서 그 값을 부여했다 nickname
.// Create new variable superheroName, with the value agent.nickname ('quake')
let { nickname: superheroName } = agent
console.log(superheroName) // 'quake'
수조를 분해하는 작업 원리는 유사하다.여기에서, 우리는
agents
수조에서 분해하지 않고 새로운 변수를 만듭니다.우리는 모든 새로운 변수를 그룹의 값에 분배할 것이다.마찬가지로 가치관이 많기 때문에 곧 지루해진다.// Create agents array
let agents = ['coulson', 'may', 'daisy', 'simmons', 'fitz']
// Create new variables and assign them values from the agents array
let coulson = agents[0]
let may = agents[1]
let daisy = agents[2]
let simmons = agents[3]
let fitz = agents[4]
console.log(coulson) // 'coulson'
console.log(may) // 'may'
console.log(daisy) // 'daisy'
console.log(simmons) // 'simmons
console.log(fitz) // 'fitz'
본 예에서 우리는 분해를 사용하여 상술한 것과 같은 기능을 실현하였다.우리는 한 줄에서 agents
그룹의 값에서 새 변수를 만듭니다.// Create agents array
let agents = ['coulson', 'may', 'daisy', 'simmons', 'fitz']
// Use destructuring to create new variables from the agents array
let [coulson, may, daisy, simmons, fitz] = agents
console.log(coulson) // 'coulson'
console.log(may) // 'may'
console.log(daisy) // 'daisy'
console.log(simmons) // 'simmons
console.log(fitz) // 'fitz'
달다
삼원 연산자는
if...else
문장의 문법사탕처럼 보일 수 있다.하지만 사실은 그렇지 않다.if...else
는 하나의 문장이기 때문에 어떤 것도 되돌려주지 않지만 삼원문장은 표현식이기 때문에 어떤 것도 되돌려준다.if...else
문장에서 조건의 계산 결과가 true
라면 if
뒤에 있는 문장을 실행한다.그렇지 않으면 조건의 계산 결과가 false
일 경우 if
조건 뒤의 문장을 건너뛰고 else
문장을 실행합니다.이 예에서
i
의 값은 2
이다.i
가 1보다 크다.이것은 조건의 계산 결과true
를 의미하고 인쇄'I am true'
한다.// Set i to 2
let i = 2
// Check condition i > 1
if (i > 1) {
// Execute if i > 1 is true
console.log('I am true')
} else {
// Execute if i > 1 is false
console.log('I am false')
}
// Output:
// 'I am true'
우리는 삼원 연산자로 같은 기능을 실현할 수 있다.삼원 연산자는 세 가지 조작수로 구성되어 있다.
?
true
일 때 실행할 표현식 뒤에 사칭:
이 붙는다.false
라면 실행할 표현식condition ? expressionIfTrue : expressionIfFalse
상기 예시에서 같은 코드를 다시 쓰지만, 삼원 연산자를 사용합니다.만약
i
이 1보다 크면 우리는 같은 조건을 검사한다.마찬가지로 조건의 계산 결과는 true
이기 때문에 인쇄'I am true'
한다.// Set i to 2
let i = 2
i > 1 ? console.log('I am true') : console.log('I am false')
// Output:
// 'I am true'
MDN reference: ternary operator
결론
for...of
의 순환과 해체는 자바스크립트에서 문법 설탕의 예로 간결한 코드를 작성하는 데 도움이 된다.
Reference
이 문제에 관하여(JavaScript의 문법 사탕 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sophia_wyl/examples-of-syntactic-sugar-in-javascript-47bm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)