1) 변수는 문자와 숫자, $와 _만 사용
2) 첫글자는 숫자가 될 수 없다.
3) 예약어는 사용할 수 없다.
4) 가급적 상수는 대문자로 알려주기
5) 변수명은 읽기 쉽고 이해할 수 있게 선언
name = "Mike"; //문자형 String
age = "30";
alert(name)
console.log(age)
let name = "Mike"
let name = "Google"
//error 나옴. let 으로 설정하면 변수 고정
const PI = 3.14;
//절대 바뀌지 않는 상수. 수정X
name = "Mike";
age = "30";
const name1 = "Mike"
const name2 = "Mike"
const name3 = "Mike"
const message = "I'm a boy."; // 안나옴
const message2 = "I\'m a boy."; // 이게 제대로 나옴
const message3 = `My name is ${name}`;
const message4 = "나는 ${30+1}살 입니다.";
console.log(message4)
const age = 30;
const PI = 3.14;
console.log(1+2);
console.log(10-3);
console.log(3*2);
console.log(6/3);
console.log(6%4); //나머지
const x = 1/0 ;
console.log(x) // Infinity
const y = name/2 ;
console.log(y) // Not a number
//Boolean
const a = true; // 참
const b = false; // 거짓
const name = "Mike";
age = "30";
console.log(name == 'Mike') // true
console.log(age > 40) // false
// null 과 undefined
let age;
console.log(age) // undefined. 변수선언하고 할당하지 않을때
let user = null;
// typeof 연산자
const name = "Mike";
console.log(typeof 3); // number
console.log(typeof name); // string
console.log(typeof true); //boolean
console.log(typeof "xxx"); //string
console.log(typeof null); //object -> 객체형(null은 객체형은 아님)
console.log(typeof undefined); //undefined
//
const name = "Mike";
const a = "나는 ";
const b = " 입니다";
console.log(a + name + b);
const age = 30; //number
console.log(a + age + "살" + b)
const name = prompt("이름을 입력하세요.");
console.log(name); // null
alert("환영합니다, " + name + "님");
alert(`안녕하세요, ${name}님. 환영합니다.`); // backtick으로 표현
const name = prompt("예약일을 입력해주세요.", "2020-10-"); // 인수 두개 가능(하나는 입력창에 나옴
const isAdult = confirm("당신은 성인 입니까?");
console.log(isAdult) //true 나 false 반환
// 단점 스크립트 일시 정지, 스타일링x
String() -> 문자형으로 변환
Number() -> 숫자형으로 변환
Boolean() -> 불린형으로 변환
const mathScore = prompt("수학 몇점?");
const engScore = prompt("영어 몇점?");
const result = (mathScore + engScore) / 2;
console.log(result); // 다른숫자 나옴. prompt 입력하면 문자형
//나누기 등은 자동 형 변환. -> 에러 발생 가능성 높음. 명시적 형변환 해주기.
console.log(
Number(true),
Number(false)
) // 1, 0 나옴
Number(null) // 0
Number(undefined) // NaN
Number(0) // false
Number('0') // true
Number('') // false
Number(' ') // true
Boolean() // 숫자0, 빈 문자열'', null, undefined, NaN 모두 false 나옴