해당 변수의 값이 null이나 undefined일 때 defualt value를 줄 수 있게 해주는 연산자
사용이유
or 연산자(||)로도 default value를 줄 수 있긴 하다.
하지만 or 연산자는 논리연산자이기 때문에 만약 위의 코드에서 name의 값이 0이나 false여도 뒤의 값이 주어지게 된다.
name같이 이름에 대한 경우면 신경 안 쓸 수도 있겠지만, point나 score같은 경우면 문제가 될 수 있다.
사용 예시
letname="";console.log("your name is",name??"test");//출력 : your name is test
Optional Chaining
사용이유
객체에서 존재하지 않는 property를 부를 때 생기는 에러를 방지
사용 예시
consttest={name:"who"};console.log(test.homeAddress.city);//에러 발생console.log(test?.homeAddress?.city);//출력 : undefinedconsole.log(test?.homeAddress?.city??"Optional Chaining Test");//출력 : Optional Chaining Test
PadStart & PadEnd
문자열에 padding을 집어 넣는다.
사용 예시
//의도 : 10미만보다 작은 숫자는 앞에 0을 붙이고, 마지막에 초 단위를 붙이려고 함letseconds=3;//seconds 길이가 2보다 작으면 앞에 0 추가, 3보다 작으면 뒤에 초 단위 추가seconds=String(seconds).padStart(2,"0").padEnd(3,"초");//출력 : 03초console.log(seconds);
주의사항
padStart와 padEnd는 문자열의 함수이기 때문에 숫자인 경우에는 문자열로 형변환을 해줘야한다.
padStart와 padEnd는 값을 바로 리턴하기 때문에 출력할 때 바로 사용하거나 아니면 따로 변수에 저장해서 사용해야 한다.
trim, trimStart, trimEnd
빈 문자열를 자르는 메소드
사용 예시
lettestTrim=" test trim method ";//앞뒤로 세칸씩 띄움console.log(testTrim.trimStart());//출력 : test trim method , 맨앞의 빈 공간 자름console.log(testTrim.trimEnd());//출력 : test trim method, 맨뒤의 빈 공간 자름console.log(testTrim.trim());//출력 : test trim method, 양쪽의 빈 공간 자름
주의사항 문자열 중간에 있는 공간들은 잘리지 않는다.
Object.메소드명
Object.entries(targetName)
Object.values(targetName)
Object.fromEntries(arrays)
사용 예시
consttestObject={name:"who",homeAddress:"where"};Object.entries(testObject);//출력 : (2) [Array(2), Array(2)], 가지고 있는 데이터를 배열로 반환한다.Object.values(testObject);//출력 : ["who", "where"], 가지고 있는 값만을 반환한다.consttestFromEntires=Object.fromEntries([["name","lee"],["homeAddress","seoul"]]);//배열을 통해서 object를 만든다. [] 안에 배열들을 나열한다.testFromEntires//출력 : {name: "lee", homeAddress: "seoul"}