글 작성한거 날라갔네요 왜 날라갔지... 의욕 상실...
다시 써봅니다. 간략하게 쓰고 넘어갈 거 같네요.
쓰다가 졸다 잘 것 같습니다...
var integer = 10;
var double = 10.12;
var negative = -20;
var binary = 0b01000001; // 2진수
var octal = 0ㅐ101; // 8진수
var hex = 0x41; // 16진수
console.log(4 / 2);
console.log(1 === 1.0);
console.log(3 / 2);
console.log(10 / 0); // Infinity
console.log(10 / -0); // Infinity
console.log(1 = 'String'); // NaN (NaN도 숫자 타입입니다, nan, NAN으로 쓰면 에러납니다.)
var string;
string = '문자열';
string = "문자열";
string = `문자열`;
var template = `Template literal`;
console.log(template);
var foo = 'Lee';
foo = null;
Symbol('abc') === Symbol('abc);
var a = Symbol('abc');
var b = Symbol('abc');
a === b;
var a = Symbol();
var b = Symbol();
var score = 100;
을 넣는다 치면 메모리 공간을 확보하고 2진수로 저장합니다.var foo; // 선언, 미정의
console.log(typeof foo); // undefined
foo = 3; // 숫자
console.log(typeof foo); // number
foo = 'Hello'; // 문자열
console.log(typeof foo); // string
foo = true; // boolean true
console.log(typeof foo); // boolean
foo = null; // null
console.log(typeof foo); // object
foo = Symbol(); // 심볼
console.log(typeof foo); // symbol
foo = {}; // 객체
console.log(typeof foo); // object
foo = []; // 배열
console.log(typeof foo); // object
foo == function() {}; // 함수
console.log(typeof foo); // function
5 + 2; // 7
5 - 2; // 3
5 * 2; // 10
5 / 2; // 2.5
5 % 2; // 1
++ // 증가, 증가 부수 효과
-- // 감소, 감소 부수 효과
var x = 5, result;
result = x++; // 선 할당, 후 증가
console.log(result, x); // 5 6
result = ++x; // 선 증가, 후 할당
console.log(result, x); // 7 7
result = x--; // 선 할당, 후 감소
console.log(result, x); // 7 6
result = --x; // 선 감소, 후 할당
console.log(result, x); // 5 5
var x = '1';
// 문자열을 숫자로 타입 변환합니다
console.log(+x); // 1
console.log(x); // '1'
// 불리언을 숫자로 타입 변환합니다
x = true;
console.log(+x); // 1
console.log(x); // true
// 불리언을 숫자로 타입 변환합니다
x = false;
console.log(+x); // 0
console.log(x); // false
// 문자열을 숫자로 타입 변환을 못하므로 NaN 변환합니다
x = 'Hello;
console.log(+x); // NaN
console.log(x); // 'Hello'
'1' + 2; // '12'
1 + '2'; // '12'
1 + 2; // 3
1 + true; // 2 (true는 1로 타입 변환이 됩니다)
1 + false // 1 (false는 0으로 타입 변환이 됩니다)
1 + null // 1 (null은 0으로 타입 변환이 됩니다)
+undefined; // NaN (undefined는 숫자로 타입 변환되지 않습니다)
1 + undefined; // NaN
var str = 'My name is ';
str += 'Lee'; // str = str + 'Lee'
console.log(str); // 'My name is' + 'Lee'
var x;
x = 10;
console.log(x); // 10
x += 5;
console.log(x); // 10 + 5 = 15
x -= 5;
console.log(x); // 15 - 5 = 10
x *= 5;
console.log(x); // 10 * 5 = 50
x /= 5;
console.log(x); // 50 / 5 = 10
x %= 5;
console.log(x); // 10 % 5 = 0
5 == '5'; // true
5 == 5; // true
5 === 5; // true
5 === '5'; // false
'0' == ''; // false
0 == ''; // true
0 == '0'; // true
false == 'false'; // false
false == 0; // true
false == '0'; // true
false == null; // false
false == undefined; // false
Number.isNaN(NaN); // true
Number.isNaN(10); // false
Number.isNaN(1 + undefined); // true
0 === -0; // true
0 === 0; // true
var x = 2;
var result = x % 2 ? '홀수' : '짝수';
console.log(result); // 결과는 0이니 '짝수'입니다.
var x = 2, result;
if (x % 2) result = '홀수';
else result = '짝수';
console.log(result); // 짝수
var x = 10;
var result = if(x % 2) { result = '홀수'} else { result = '짝수'}; // 오류
var result;
if (x % 2) {
result = '홀수'
} else {
result = '짝수'
};
}; // 문법 수정 (if else 방식)
var result = x % 2 ? '홀수' : '짝수';
console.log(result); // 문법 수정 (삼항연산자 방식)
x = 1, y = 2, z = 3; // 3
10 * (2 + 3); // 50
10 * 2 + 3; // 23