함수의 매개변수(인자값)의 기본값 설정하기
매개변수 인자값, 기본값 설정
function hello(name, message = "안녕하세요") { //매개변수의 기본값 설정하기
console.log(`${name}님, ${message}.`)
};
hello("홍길동", "안녕하세요");
hello("홍길동");
함수를 호출할때 매개변수를 한개만 주어도 기본값을 설정해놓는다면, 기본값이 출력된다.
*전개연산자의 사용법
전개연산자는 여러군데에 사용이 될 수 있다
1. 나머지 매개변수
2. 배열합치기
3. 배열객체 데이터 복사할떄
4. 구조 분해 할당할때
1. 나머지 매개변수
function addNum(...numbers) { //매개변수의 갯수에 상관없이 실행된다.
let sum = 0;
for(let el of numbers) {
sum += el;
}
return sum;
}
console.log(addNum(1,2,3))
위와 같은 상황에서는 함수를 호출할때, 매개변수를 몇개를 넣어도 상관 없이 함수가 변수를 받아 실행된다.
const animal = ["bird", "cat"];
const fruits = ["apple", "banana", "cherry"];
//let total = animal.concat(fruits); //concat( ) 함수를 이용하여 배열을 합칠 수 있으나,
let total = [...animal, ...fruits]; //전개 연산자도 사용이 가능하다
console.log(total)
["bird", "cat","apple", "banana", "cherry"]
3. 배열객체 데이터 복사할때
const fruits = ["apple", "banana", "cherry"];
const favorite = fruits;
favorite[1] = "grape"
console.log(favorite)
["apple", "grape", "cherry"]
console.log(fruits)
["apple", "grape", "cherry"]
//배열객체도 객체이다. 원시유형 자료전달이 아닌 (변수만 가능) 참조주소전달임으로, 원본 데이터까지 변경됨.
//방지하고 싶다면 전개연산자 사용.(-> mine배열 사용)
const mine = [...fruits];
console.log(mine)
["apple", "banana", "cherry"]
mine[1] = "orange"
console.log(mine)
["apple", "orange", "cherry"]
console.log(favorite)
["apple","banana", "cherry"]
*주의 배열객체도 객체임으로 원본데이터를 복사하여 사용할 경우 원본 데이터도 함께 변경된다.
이를 방지하고자 할때 전개연산자를 사용하여 데이터를 복사해오면 된다.
객체의 Symbol( )
객체의 Symbol : 차별화된 객체의 값을 저장하고자 할 때 사용
let num1 = Symbol( );
let num2 = Symbol( );
num1==num2
false // Symbol( ) 은 각각 다르므로 false 값
let id = Symbol( );
const member = {
name : "kim",
[id] : 12345
}
member
{name: 'kim', Symbol( ) : 12345}
member.id = 6789;
member;
{name: 'kim', id: 6789, Symbol( ): 12345}
let grade = Symbol("grade");
member[grade] = "vip";
member;
{name: 'kim', id: 6789, Symbol( ): 12345, Symbol(grade): 'vip'}
구조 분해 할당
구조 분해 할당 : 주어진 자료의 구조를분해해서 변수에 할당하는 기능
const fruits = ["사과", "복숭아"];
let apple = fruits[0];
let peach = fruits[1];
apple
'사과'
peach
'복숭아'
let [apple, peach] = ["사과", "복숭아"];
apple
'사과'
peach
'복숭아'
const fruits = ["사과", "복숭아"];
let [apple, peach] = fruits;
apple
'사과'
peach
'복숭아'
let [spring, ,fall, ] = ["봄", "여름", "가을", "겨울"]
spring
'봄'
fall
'가을'
//전개연산자도 사용가능
let [teach, ...student] = ["kim", "lee", "park", "choi"];
teach;
'kim'
student;
(3) ['lee', 'park', 'choi']
//변수값 교환방법
let x = 10;
let y = 20;
[x, y] = [y, x];
x
20
y
10
'Javascript > GMA(2302~)' 카테고리의 다른 글
23.04.26 자바스크립트 제너레이터함수 (0) | 2023.04.27 |
---|---|
23.04.26 자바스크립트 배열객체 메서드, 내장객체 Map( ), Set( ) (0) | 2023.04.26 |
23.04.25 자바스크립트 배열객체 예제2 (0) | 2023.04.26 |
23.04.25 자바스크립트 배열객체 예제 (0) | 2023.04.26 |
23.04.25 자바스크립트 문자열,배열객체 예제 (0) | 2023.04.26 |