✏️ ES6: 첫 번째 섹션
13940 단어 tutorialwebdevbeginnersjavascript
소개하다.👋🏼
네 부분으로 구성된 시리즈의 첫 번째 부분에 오신 것을 환영합니다. 여기서 저는 제가 현재 배우고 있는 개념을 기록하여 자바스크립트 언어를 더 잘 이해하는 여행의 일부분으로 삼겠습니다.
이 섹션에서는 다음 항목을 설명합니다.
[다음 부분을 적어서 발표하기 전까지는 여백이 없었다.]
Let 및 Const가 포함된 변수 선언📦
ES6에서는 다음 키워드를 사용하여 변수를 선언하는 새로운 방법인 "let"및 "const"두 가지가 있습니다.
ES6에서 변수 정의
// Two methods of declaring variables
let counter = 0;
const name = 'Yusuf';
console.log(counter); // Output: 0
console.log(name); // Output: Yusuf
실제로 위의 두 문장은 같은 일을 할 것이다. 예를 들어 두 개의 새로운 변수,counter와name을 정의하고 그것을 어떤 값으로 설정하는 것이다.그럼'let'과'const'는 어떤 차이가 있나요?
"let"과 "const"의 주요 차이점은 다음과 같습니다.
의견을 찾을 수 없습니다.
다음은 const에 대한 또 다른 좋은 설명입니다.
의견을 찾을 수 없습니다.
위에서 정의한 계수기와 명칭 변수의 예를 돌이켜 보면, 우리는let을 계수기로 하고,const를 명칭으로 한다.이것은 일리가 있는 것이지, 그렇지?
계수기: 이것은 프로그램에서 점차적으로 증가하거나 감소할 수 있기 때문에 이 변수에let을 사용하는 것이 적합합니다.
이름: 대부분의 경우 한 사람이 자신의 이름을 변경할 수 없기 때문에 const로 정의하기를 원하기 때문에 변경할 수 없습니다.
const name = 'Yusuf';
// Attempting to re-assign the value of name throws an error
name = 'new name!';
console.log(name);
이 기능은 개발자로 하여금 하나의 값으로 변수를 정의하고 저장할 수 있게 한다. 자바스크립트가 이것에 대해 크게 놀라지 않도록 하면, 그들은 변수를 의도적이거나 무의식적으로 변경할 수 없다는 것을 안다.나는 매우 좋다고 생각한다.
변수 선언: 함수 범위 및 블록 범위🔍
let과 const가 도입됨에 따라 JavaScript 엔진은 일반적으로 ES5에서 var 키워드로 변수를 선언할 때와 다르게 이러한 변수에 액세스합니다.
우리는let과const 변수를 블록 작용역으로 설명하고 var을 함수 작용역으로 정의할 수 있습니다.범위는 특정 값에 접근할 수 있는 공간으로 여겨질 수 있다.
블록 범위: 이 범위에 정의된 변수는
함수 작용역: 이 작용역에서 정의된 변수는 정의된 전체 함수에서 사용할 수 있으며 심지어 다른 내부 작용역에서도 사용할 수 있다
// ES5: 'var'
function testingScopesOne()
{
var num = 1;
// Creating a new Block Scope
{
var num = 2;
// Output: 2
console.log(num);
}
// Output: 2
console.log(num);
}
// ES6: 'let'
function testingScopesTwo()
{
let num = 1;
// Creating a new Block Scope
{
let num = 2;
// Output: 2
console.log(num);
}
// Output: 1
console.log(num);
}
testingScopesOne();
testingScopesTwo();
코드 해석👀
위에서 나는 두 가지 함수를 정의하고 실행했다. 그것이 바로 테스트 스코프 원과 테스트 스코프 Two이다.
각 함수에서 수행한 작업, 결과, 그리고 이것이 함수 범위 및 블록 범위의 개념과 어떻게 연관되는지 설명하려고 합니다.
testingScopesOne: var을 사용하고 현재 블록 범위 내에서 값을 출력합니다.
testingScopesTwo: let을 사용하여 값을 출력합니다.
TestingScopesOne 출력은 2이고 TestingScopesTwo 결과는 1입니다. 이것은 우리가 시작할 때 할당한 초기 값입니다.
왜 이러지?😮
testingScopesOne 함수는 함수 범위의 개념을 보여 줍니다.
설명: 우리는 var을 사용하여 변수num을 정의하여 값을 부여한 다음 함수의 다른 범위 내에서 다시 값을 부여합니다.이 새 값 2는 초기 값 1을 덮어씁니다. var을 사용하여 정의한 변수 범위가 함수 범위임을 나타냅니다.
한편, testingScopesTwo 함수는 블록 역할 영역의 개념을 보여 준다.
설명: 우리는let을 사용하여 변수num을 정의한 다음에 함수의 다른 역할 영역에서num에 다른 값을 할당했다(2). 반대로 이 새 값은testingScopesOne처럼 저장되지 않았기 때문에 이 역할 영역 이외의 함수 끝에 값을 출력할 때 이 값은 1로 유지된다.
블록 범위 내에서 변수num을 다시 설명할 때, 이름이 우리가 설명한 초기 변수 (num) 와 일치하지만, 새로운 변수를 만들었기 때문입니다.따라서 이것은 블록 작용역의 개념을 설명하는데 그 중에서let을 사용하는 모든 변수 정의는 블록 작용역이 정의한 현재 블록 작용역에만 귀속된다.
블록과 즉시 호출된 함수 표현식🏃🏽
블록은 괄호 세트에 포함된 코드입니다.
{
// Some code
}
블록은 보통if,for,else 등 구조를 제어하는 데 사용되지만 이러한 구조에 국한되지 않는다.ES6에서 우리는 블록의 개념을 사용하여 즉시 호출 함수 표현식(IIFE)을 작성하는 방식을 간소화할 수 있다.
무엇이 생활입니까?
생명은 직접 수행하는 기능입니다(🏃🏽) 정의에 따르면 JavaScript 엔진은 이것이 즉시 실행해야 하는 함수라고 생각합니다.
iLife의 가장 중요한 점은 사용 및 정의된 모든 데이터를 캡슐화하는 것입니다.이 데이터가 공개적으로 정의되지 않는 한 IIFE 내부에서 어떤 내용도 접근할 수 없다는 뜻이다.이렇게 하면 IIFE를 실행할 때 새 역할 영역이 만들어지고 이 역할 영역은 주부 역할 영역과 분리됩니다.
IIFES: ES5 및 ES6
ES5에서 우리는 다음과 같은 일을 해서 생활을 창조해야 한다.
일이 많죠?이 건물이 결국 얼마나 어지러워 보였는지는 말할 것도 없다.
다행히도 ES6에서 우리는 한 쌍의 괄호 안에 코드를 작성하기만 하면 된다.이렇게
// ES5 IIFE
(function() {
// Code
})();
// ES6 IIFE
{
// Code
}
ES6 생활: 예
다음은 간단한 예입니다. IIFE를 정의하고 변수 myName을 설명합니다.
IIFE에서 이 변수에 접근하면 정상적으로 작동할 수 있지만 IIFE 외부에서 접근하려고 하면 오류가 발생합니다.
{
const myName = 'Yusuf';
console.log(myName); // Output: Yusuf
}
console.log(myName); // Error: myName is not defined
ES6의 문자열🧵
ES6에서는 문자열을 조작하고 상호작용하는 방식이 훨씬 낫다.
이것은 아마도 내가 가장 좋아하는 ES6 특성 중의 하나일 것이다.그게 바로...문자열 텍스트.
문자열 문자
한 사람의 이름과 같은 변수를 포함하는 문자열을 출력하고 싶을 때가 언제였는지 기억하십니까?이 작업을 수행하려면 다음을 수행해야 합니다.
// ES5 Strings
console.log('Hello' + name + ', welcome to this application!');
문자열 문자에 대해 변수 사이에 + 연산자를 추가하고 변수마다 시작/끝 문자열을 추가하는 어색함은 이미 사라졌다🥳! 다음과 같은 콘솔 로그를 사용할 수 있습니다.// ES6 String Literals
console.log(`Hello ${name}, welcome to this application!`);
현저한 차이점:${...} 에 다른 간단한 JavaScript 코드 세그먼트를 입력할 수도 있습니다.구조, 예를 들어 함수에 대한 호출.이 함수는 표시하고 싶은 값을 되돌려줄 수 있습니다. 이 경우 문자열에 직접 입력할 수 있습니다.
function returnName()
{
return 'Yusuf';
}
console.log(`Hello ${returnName()}, welcome to this application!`);
// Output: Hello Yusuf, welcome to this application!
ES6 문자열 메서드
ES6는 문자열 문자 외에도 문자열에 사용할 수 있는 새로운 함수를 제공합니다.다음은 각 방법에 대한 간단한 설명입니다.
// Method Name: startsWith
console.log('coffee'.startsWith('cof'));
// Output: true
// Method Name: endsWith
console.log('coffee'.endsWith('ee'));
// Output: true
// Method Name: includes
console.log('coffee'.includes('offe'));
// Output: true
// Method Name: repeat
console.log('hey '.repeat(4));
// Output: hey hey hey hey
결론
이 네 부분으로 구성된 시리즈의 첫 번째 부분에서는 다음과 같은 ES6 JavaScript 개념을 설명합니다.
이 시리즈의 다음 미발표 세 부분에 공간을 남겨 두세요!
참고: 모양이나 형식에 관계없이 저는 JavaScript 분야의 전문가가 아닙니다.제가 이 게시물 뒤에 있는 생각과 동기는 제가 이런 개념을 배우는 동시에 이 개념을 더 잘 이해하도록 도와주고 개발 커뮤니티에 보답하려고 하는 것입니다.
만약 내가 공유한 정보에 어떤 근본적인 문제가 있다면 나에게 알려주세요.우리는 모두 아직 공부하고 있으니, 우리는 당연히 함께 공부할 수 있다.😊
화상에서 나를 찾았고, 나는 그곳에서 내가 현재 일하고 있는 기술에 대해 발표하였으며, 컴퓨터 과학 학생으로서의 나의 여정을 기록하였다🙂.
Reference
이 문제에 관하여(✏️ ES6: 첫 번째 섹션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yusufcodes/learn-es6-with-me-part-one-3a2c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)