문자열로의 변환
String(var);
var.toString();
: 이해하기 편함var + "";
숫자로의 변환
Number(var)
:parseInt(str) //문자열만 가능
: 16진수 등 여러방면에서 활용가능+var;
var * 1;
불리언으로의 변환
Boolean(var);
!!var
&&
, ||
이 연산의 결과를 결정하는 피연산자를 반환하는 것.Object && Object.value
str || ""
?.
로 사용좌항 === (null || undefiend) ? undefined : 우항의 프로퍼티 참조
var str= "";
var len1 = str && str.length // len1 = ""가 들어감
var len2 = str?.length // len2 = undefined가 들어감
??
로 사용좌항 === (null || undefiend) ? 우항의 피연산자 반환 : 좌항의 피연산자 반환
var str = "";
var str1 = str || "default" // "default"가 들어감
var str2 = str ?? "default" // ""가 들어감
&&, ||, ?.
를 골고루 사용했는데 사용시의 어떠한 과정을 거쳐 어떠한 값을 반환하는 지 이해함??
의 사용법을 익힘var obj = {
key : value // key와 value의 조합이 프로퍼티
func: function() {} // 프로퍼티의 값이 함수라면 메소드라고 부름
}
JS는 Java, C++과는 달리 new 연산자가 아니라 리터럴로 객체를 생성가능
객체에 존재하지 않는 프로퍼티에 접근하면 ReferenceError가 아닌 undefined를 리턴함
프로퍼티 삭제
Property shorthand
let x =1 , y =2;
const obj = {x,y}
처럼 선언가능
프로퍼티 이름을 동적으로 계산 가능
원시 타입 | 객체 타입 | |
---|---|---|
값의 변경 | 불가능 | 가능 |
저장 방식 | 값 | 참조 값 |
전달 방식 | 값의 복사 | 참조 값이 복사 |
변수: 재할당을 통해 변수 값을 변경가능
상수: 재할당이 금지된 변수
재할당: 값이 변하는 것이 아니라, 변수가 참조하는 메모리 공간의 주소를 바꿈
문자열 또한 원시타입이므로 변경이 불가능하다.
var str = "str"; str[0] = 'a'; console.log(str) // str