==와 ===의 차이
==의 경우 숫자가 같기만 하면 TRUE
===의 경우 숫자 뿐만 아니라 데이터 타입도 같아야만 TRUE가 뜬다.
예를 들어,
3 == 3
true
'3' == 3
true
'3'===3
false
이다. 등호 = 하나만 써봤는데 이건 의미가 없었다
true && true
true
false && flase
false
true || true
true
true||flase
true
||는 or연산이다.
not연산은 거꾸로 뒤집어 주는 역할로 !를 붙여주면된다.
!false
true
!true
false
(7>3) && (6<-1)
false
7은 3보다 크다는 true 고 6이 -1보다 작은 이유는 false다. 따라서 엔드값 &&을 줄 경우, false가 나온다 왜냐면, true가 나오려면 양쪽다 true여야됨.
( 7 > 3) || ( 6 < -1)
true
or연산은 한쪽이라도 true가 있으면 true가 나오는 연산임.
따라서 true가 나옴
!(7>3)
false
var scoreString = '10';
undefined
Number(scoreString)
10
typeof scoreString;
"string"
typeof Number(scoreString);
"number"
typeof 20;
"number"
typeof String(20);
"string"
var favoriteNumber = window.prompt("가장 좋아하는 숫자를 적어주세요."
var favoriteNumber = window.prompt("가장 좋아하는 숫자를 적어주세요.");
undefined
favoriteNumber
"7"
지금 window.prompt값을 썼는데 요거는 문자열로 밖에 못받음 밑에보면
typeof favoriteNumber
"string"
이라고 나옴
var favoriteNumber = Number(window.prompt("가장 좋아하는 숫자를 적어주세요."));
undefined
favoriteNumber
7
typeof favoriteNumber
"number"
형변환을 Number로 써서 바꿔봤음.
Number("hello");
NaN
NaN은 Not a Number라는 뜻. 숫자가 아니라는 것임. hello는 숫자가 아니므로 이렇게 뜸. 형변환을 할 떄 유의!
var text1 = 'Hello';
var text2 = ['H', 'e', 'l', 'l', 'o'];
console.log(text1.length);
VM3736:1 5
console.log(text2.length);
VM3811:1 5
console.log(typeof(text))
console.log(typeof(text1))
VM3877:1 string
console.log(typeof(text2))
VM3940:1 object
text1는 문자열이고 text2는 배열이기 때문에 서로 다른 존재다. 같아보일 수 있으나, typeof를 써서 형을 확인하면 다른 존재라는 것을 알 수 있따.