[JavaScript]JavaScript以前は馴染みのなかった文法📑
12250 ワード
1.可変/不変変数(var、let、const)
-
var
は再定義および再宣言できます.-
let
は可変変数として再定義できますが、再宣言はできません.-
const
は不変の変数であり、再宣言および再定義はできません.*再宣言:同じ名前の変数を再作成
*再定義:指定した変数に値を置換しようとします
*
스코프(scope)
:識別子(ex.変数名、関数名、クラス名など)の有効範囲var
の問題①変数宣言が柔軟なため、予期せぬ値を返すことができます.
②コードが長くなると、どこで使うか把握しにくくなります.
③関数レベルスキャンのため、関数外部で宣言された変数はすべてグローバル変数である.
④変数宣言前に変数を参照し、常に未定義を返します.
したがって、varはあまり使いにくいので、letとconstキーワードを使うことをお勧めします.
//변수 선언
var x = 2;
// 재정의
x = 4;
// 재선언
var x = 4;
2.モジュールのエクスポートとインポート(export/import)
モジュールをエクスポートする方法はnamedexportとdefault exportです.
// named export 기본 형식
export { 모듈명1, 모듈명2 };
import { 모듈명1, 모듈명2 } from 'js 파일 경로';
// default export 기본 형식
export default 모듈명;
import 모듈명 from 'js 파일 경로';
-named export
は、1つのファイルから複数のファイルをエクスポートするために使用することができる.export名と同じ名前でインポートし、カッコで囲んでインポートする必要があります.as
を使用するか、ファイル内のクラスまたは変数を同時にインポートするには、* as
を使用します.// named export는 중괄호 포함 import
import { named1, named2 } from './example.js';
// named export에서 as를 사용하여 다른 이름으로 import
import { named1 as myExport, named2 } from './example.js';
// 한 파일에 있는 모든 클래스나 변수를 * as를 사용하여 한 번에 import
import * as Hello from './example.js';
-default export
変数やクラスなどは、1つのファイルからのみエクスポートできます.また、importではカッコで囲まずに任意の名前でインポートできます.// default export 는 중괄호 없이 import
import default1 from './example.js';
3.テンプレート
テンプレート文字はES 6から新しく導入された文字列記号で、引用符ではなくbacktic(`)を使用して文字列を生成します.引用符とは異なりbackticには改行が反映されます.また、文字列間に変数や演算を挿入すると、${}間に式が挿入されます.
var jsp = "자바스크립트";
// 기존 코드
console.log("이건 " + jsp + "입니다.");
// 템플릿 리터럴 방식
console.log(`이건 ${jsp}입니다.`);
// 출력 결과 -> 이건 자바스크립트입니다.
4.矢印関数(矢印関数)
矢印関数は、関数式を記述するより簡単で簡潔な構文です.
// 기본 함수 형식
let sum = function(a, b) {
return a + b;
};
// 화살표 함수 형식
let sum = (a, b) => a + b;
5. forEach() / map()
foreach()とmap()はループ文で、配列中の要素を1対1でペアリングします.
-
forEach()
:配列要素ごとに与えられた関数(コールバック)を1回実行します.배열.forEach((요소, 인덱스, 배열) => { return 요소 });
-map()
:アレイ内の各要素に対して所定の関数(コールバック)を呼び出した結果を収集し、新しいアレイに戻る배열.map((요소, 인덱스, 배열) => { return 요소 });
ただしforEach()とmap()の役割は同じですが、戻り値の違いがあります.forEach()は既存のアレイを変更し、map()は結果値として新しいアレイを返します.
var arr = [1,2,3,4,5];
// forEach()
var newArr = arr.forEach(function(e, i) {
return e;
});
// return -> undefined
// map()
var newArr = arr.map(function(v, i, arr) {
return v + 1;
});
// return -> 2, 3, 4, 5, 6
6. reduce()
reduce()
:配列内の各要素を巡回し、callback関数の実行値を積算して結果値を返します.배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값);
result = sum.reduce((prev, curr, i) => {
console.log(prev, curr, i);
return prev + curr;
}, 0);
// 0 1 0
// 1 2 1
// 3 3 2
result; // 6
*初期値を入力しないと、初期値は0番目のインデックスの値になります.*reduce()初期値を配列に設定し、値を配列にプッシュするとmapと同じになります.
参考資料
🐰 Ellis SWエンジニア第2期JavaScriptII課
1.var、let、constの違い / var、let、constの違い
2.default exportとnamedexportの違い
3.テンプレート文字:backtic(`)、ドル(${})の使い方
4.矢印関数基本
5.forEach()とmap()の比較と分析
6.reduce()使用
Reference
この問題について([JavaScript]JavaScript以前は馴染みのなかった文法📑), 我々は、より多くの情報をここで見つけました https://velog.io/@kim_unknown_/JavaScript-ConfusedGrammerテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol