본문 바로가기
자바스크립트 궁금증

1216 / 삼항연산자와 구조분해

by 띠리에이터 2023. 12. 16.

삼항 연산자 = 조건연산자

조건 ? truthy 할 때 표현식 : falsy 할 때 표현식

-> 가장 앞부분은 if문에서 소괄호 안의 조건 

-> 물음표 다음에는 if문에서 중괄호 안의 코드

-> 콜론 다음에는 else 문의 중괄호 안의 코드와 똑같이 동작

 

if 문이랑 차이나는 코드 길이 / 삼항 연산자로 더 간결하게 표현할 수 있다. 

조건연산자는 표현식이기 때문에 조건에 따라 변수를 선언하거나 / 반복문을 실행할 수 없다. 


spread 구문

배열을 다룰때 활용 / 여러개의 값을 하나로 묶은 배열을  다시 각각의 개별값으로 펼치는 문법

배열 앞에 마침표 3개 붙임

rest parameter 도 ... 붙이지만 차이점은 rest 는 여러개의 아규먼트를 하나로 뭉치고

spread는 하나의 배열을 여러개로 푼다.

spread 구문을 사용하면  배열의 메소드를 사용하지 않고도 독립적으로 복사 가능하다

주소값이 참조되기 때문에 numbers2.push를 해도 numbers1에 적용된다

이럴경우 slice 메소드를 사용했는데 spread 사용하면 간단하

또는 spread문법 뒤에, 추가요소를 넣어서  바로 요소 추가가 가능하다  

배열들의 합치기도 가능

배열을 펼쳐서 객체에도 담을수 있다. 


객체의 프로퍼티 표기법 간소화

객체에 접근 방식은 값을 통해 . 표기법으로 접근 / 표현식을 그대로 사용해서 대괄호 표기법으로 접근

옵셔널 체이닝


구조분해 ( Destructuring)

배열의 형태를 한 변수 요소들 배열의 요소들이 순서별로 할당된다

const {prepertyname, prepertyname } = object

객체 분해는 객체처럼 중괄호로 분해

const {prepertyname, prepertyname = " " } = object

기본값 지정 가능

const {prepertyname, ...prepertyname } = object

앞쪽의 프로퍼티가 유요한 부분들은 할당하고 남은 프로퍼티들을 뒤 객체에 할당함

const {prepertyname : propertyvalue, ...prepertyname } = object

기존 propertyname과 다른 새로운 이름의 변수 선언 가능

 

함수와 Destructuring