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.)