[TIL]Javascript変数、モジュール、文字、矢印関数、クラス、forEach()、Map()、reducd()
28107 ワード
let vs Const vs Var
letとConstはES 6以降に新しく出現した変数である.
<役割の違い>
let
:再定義可能、再宣言不可、Block Scopedconst
:再定義不可、再宣言不可、Block Scopedvar
:再定義可能、再宣言可能、機能拡張let a = 3
const b = 4
var c = 2
console.log(a); 3
console.log(b); 4
console.log(c); 2
//let, const 값 변경시
a = 12;
b = 23;
console.log(a); 12
console.log(b); // error
//let, const, var 값 재정의 시
let a = 23;
const b = 123;
var c = 132;
console.log(a); // error
console.log(b); // error
console.log(c); 132
const arr = [1,2,3]
arr = [2,4,5] // error
arr[0] = 4
arr.push(5)
console.log(arr); [4,2,3,4]
モジュールインポートエクスポート
モジュール:ファイルを複数のファイルに分割する場合、各ファイル
export
:変数、関数またはクラスを宣言する場合は、先にexportを付けてエクスポート//배열 내보내기
export let name = ['Lee','Seunghoon','hoon']
//상수 내보내기
export const City = 'Seoul';
//클래스 내보내기
export class Name{
constructor(name){
this.name = name;
}
}
//함수 내보내기
export function Name(name){
console.log(name)
}
宣言からエクスポートを削除して貼り付けfunction sayHi(user) {
alert(`Hello, ${user}!`);
}
function sayBye(user) {
alert(`Bye, ${user}!`);
}
export {sayHi, sayBye}; // 두 함수를 내보냄
import
:モジュールのインポート時に「パス」からインポートimport {sayHi, sayBye} from './say.js';
sayHi('John'); // Hello, John!
sayBye('John'); // Bye, John!
as
:モジュール名の設定import * as 'name'
:import時にモジュール名のインポートを変更します.import {sayHi as hi, sayBye as bye} from './say.js';
hi('John'); // Hello, John!
bye('John'); // Bye, John!
export as
:出口時モジュール名変更export {sayHi as hi, sayBye as bye};
import * as say from './say.js';
say.hi('John'); // Hello, John!
say.bye('John'); // Bye, John!
export default
:エクスポートするオブジェクトが1つしかない場合に使用export default function User(name) { // export 옆에 'default'를 추가해보았습니다.
console.log(name);
}
// or
function User(name) {
console.log(name);
}
export default User;
import User from './user.js'; // {User}가 아닌 User로 클래스를 가져왔습니다.
User("John")
テンプレート文字(backtic)
' '
・" "
文字列表示用使用法:「asdf」
フィーチャー:式を${...}に設定文字列に何らかの方法で挿入できます
const name = "Lee"
console.log(`my Name is ${name}`);
// => 'my Name is Lee'
let guestList = `손님:
* John
* Pete
* Mary
`;
console.log(guestList); // 손님 리스트를 여러 줄에 걸쳐 작성함`
// 손님:
// * John
// * Pete
// * Mary
矢印関数
()=>で関数を縮小
let func = (arg1, arg2, ...argN) => expression;
let func = function(arg1, arg2, ...argN) {
return expression;
};
class
clss Person{
...
}
let Lee = new Person()
コンストラクション関数(コンストラクション関数)を使用してクラスオブジェクトの初期値を設定する
class Person {
constructor(name,age,city){
this.name = name;
this.age = age;
this.city = city;
}
}
let Lee = new Person('Lee','20','Seoul');
オブジェクトを設定する動作
class Person {
constructor(name,age,city){
this.name = name;
this.age = age;
this.city = city;
}
changeAge(changeAge){
return this.age = changeAge;
}
}
let Lee = new Person('Lee',20,'Seoul');
Lee.changeAge(21)
console.log(Lee) // name : 'Lee', age : 21, city: 'Seoul'
forEach()
forEach()
:与えられたcallback
乙アレイの各要素に対して昇順に1回実行戻り順:配列要素、インデックス、配列の順に戻ります(*順序が重要です*)
let names = ["Lee", "Seung", "Hoon"];
names.forEach((e) => console.log(e)) // "Lee","Seung","Hoon"
let names = ["Lee","Seung","Hoon"];
names.forEach(function(element,index,array){
console.log(element,index,array)
}
// "Lee", 0, Array = ["Lee","Seung","Hoon"]
// "Seung", 1, Array = ["Lee","Seung","Hoon"]
// "Hoon", 2, Array = ["Lee","Seung","Hoon"]
map()
map()
:アレイ内の要素ごとに与えられた関数を呼び出した結果をまとめ、新しいアレイを返す.const array1 = [1, 4, 9, 16];
const map1 = array1.map(x => x * 2);
console.log(map1);
// Array [2, 8, 18, 32]
reduce()
reduce
:アレイ内の各要素に対して与えられたreducer
関数を実行し、結果値を返します.すべての配列の和を求めるために使用
戻り順:total、値を選択し、書き込む必要はありません(インデックス、現在の配列を選択)
const arr = [1, 2, 3, 4, 5];
const result = arr.reduce((누적된 수: acc, 현재 선택 요소: cur) => { return acc += cur; });
console.log(result); // 15
Reference
この問題について([TIL]Javascript変数、モジュール、文字、矢印関数、クラス、forEach()、Map()、reducd()), 我々は、より多くの情報をここで見つけました https://velog.io/@develeep/TIL-Javascript2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol