JavaScript 기본 문법 정리[3]

서유진·2022년 8월 10일
0

Node.js

목록 보기
10/14

구조 분해 할당

공식문서

	let users = ['a','b','c'];
	let [user1, user2, user3] = users;
	// user1 = 'a', user2 = 'b', user3 = 'c'

	let str = 'hi-bye';
	let [nice1, nice2] = str.split('-');
	// nice1 = 'hi', nice2 = 'bye'

할당 시 넣을 값이 없으면 undefined 할당, 만약 방지하고 싶다면 [a=1,b=2] 이런식으로 기본값 주기 가능
[a, ,c] = [1,2,3] 이러면 2는 무시되고 a=1, c=3 이렇게 들어감, 마찬가지로 할당하는 배열이 할당받는 변수 모음보다 길면 그 이후 값은 무시된다.

	let a = 1
    let b = 2
    // 원래라면 temp이용해서 바꿔야하지만
   [a,b]=[b,c]

객체 구조 분해 할당도 가능,

	let user = {name:'yujin', age:23}
    let {name, age} = user;
	// name = 'yujin', age = 23

    let {name:copyName, age:copyAge} = user;
	// copyName = 'yujin', copyAge = 23

매개변수

	function showName(name){
      console.log(name);
    }

	showName('yujin') // 'yujin'
	showName('a','b') // ?
	shoeName(); // undefined

arguments

공식문서

  • 함수로 넘어온 모든 인수에 접근
  • 함수 내에서 이용 가능한 지역 변수
  • length / index
  • array 형태의 객체
  • 배열의 내장 매서드 없음 (forEach, map)
	function argumentsTest(a){
      console.log(arguments.length);
      console.log(arguments[0]);
      console.log(atguments[1]);
    }
	argumentsTest('yujin','hoho');
	// 2
	// 'yujin'
	// 'hoho'

Rest parameters (나머지 매개변수)

공식문서

  • ES6 이상 문법에서 권장
  • function(a,b, , ...arrayName) 형태로 작성
  • 정해지지 않은 개수의 인수를 배열로 전달함
  • 전달된 모든 수를 더할 때 사용, forEach 구문 등 사용 가능
  • 생성자 함수를 만들 때도 활용 가능
 	function showName(...names){
      console.log(names);
    }

	showName() // []
	showName('yujin'); //'yujin'
	showName('yujin','hoho'); // ['yujin','hoho']

Spread syntax (전개구문)

전개구문

  • 배열, 객체 자유롭게 사용 가능
	let arr = [1,2,3]
    let arr2 = [4,5,6]
    
    let result = [...arr, ...arr2]
    // [1,2,3,4,5,6]
    
profile
Backend Dev.

1개의 댓글

comment-user-thumbnail
2022년 8월 30일

잘 봤습니다 :)

답글 달기