변경 불가능(immutable)한 값, 원시(primitive) 타입의 값
string
, number
, boolean
, null
, undefined
, Symbol
)변경 가능(muutable)한 값, 객체(참조) 타입의 값
Array
, Function
, RegExp
등)new Symbol() // TypeError: Symbol is not a constructor
variable == null // variable 이 null 또는 undefined 인 경우에만 true
async function 함수명() {
await 비동기_처리_메서드_명();
}
async
키워드는 function 앞에 사용, 항상 Promise
반환await
는 async
함수 안에서만 동작, 프로미스가 처리될 때 까지 기다렸다가 결과 반환defer, async 스크립트
https://ko.javascript.info/script-async-defer
proxy
Proxy
객체를 사용하면 한 객체에 대한 기본 작업을 가로채고 재정의하는 프록시를 만들 수 있음utill
https://velog.io/@typo/advanced-javascript-functions-to-improve-code-quality
!
: 어떤 값의 boolean 값을 반대로 바꿈
console.log(!true); // false
console.log(!false); // true
console.log(!0); // true
console.log(!1); // false
console.log(!""); // true
console.log(!"hello"); // false
console.log(!null); // true
console.log(!undefined); // true
!!
: 값을 boolean으로 변환
console.log(!!true); // true
console.log(!!false); // false
console.log(!!0); // false
console.log(!!1); // true
console.log(!!""); // false
console.log(!!"hello"); // true
console.log(!!null); // false
console.log(!!undefined); // false
console.log(!!{}); // true (빈 객체도 true로 평가됩니다)
console.log(!![]); // true (빈 배열도 true로 평가됩니다)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/eval