반응형
primitive(원시 값)
1. 숫자
2. 문자열
3. 불리언
4. undefined
5. null
object(객체)
1. 배열 []
2. 정규표현식
3. 객체 리터럴 {}
원시값은 프로퍼티 추가, 변경이 불가능.
var a = '123';
a.length = 1;
a.length // 3
객체는 프로퍼티 추가, 변경 가능
var b = [1,2,3];
b.length = 1;
b.length // 1
undefined는 왜 뜨는가
1. 변수의 정의가 안되어있을 때
var a;
a //undefined
2. 매개변수가 없을 때
function a(x) = {return x};
a() //undefined
3. 존재하지 않는 것에 프로퍼티
var a = [];
a.length //undefined
타입 강제
타입이 다른데 그걸 연산해줌.
'3' * '4'
> 12
3 + 'times'
> 3times
어떻게 변하나
String() | Number() | Boolean() | |
undefined | 'undefined' | NaN | false |
null | 오류 | 0 | false |
false | 'false' | 1 | false |
true | 'true' | 0 | true |
0 | '0' | 0 | false |
NaN | 'NaN' | NaN | false |
'' | '' | 0 | false |
false에 해당하는 것
0, -0, '', null, undefined, 값을 할당하지 않은 변수
&& 연산자
a && b ---> a가 true일 때 b 실행.
즉 a가 false면 b가 실행조차 안된다는 의미.
'Javascript' 카테고리의 다른 글
🌟추천🌟원시값과 참조값, 그리고 mutate와 assignment (0) | 2020.12.26 |
---|---|
array 메소드 기본 정리 (0) | 2020.12.07 |
자바스크립트 : 배열에서 서로 값 바꾸고 싶을때 (0) | 2019.12.18 |
자바스크립트 : 원하는 특정 문자 바꾸기 (0) | 2018.09.27 |
자바스크립트 input에 입력한 값으로 테이블 만들기 (0) | 2018.09.20 |