JavaScript Variable & Boolean
JavaScript 역시 정해진 문법이 있는 언어이고, 약속과 규칙이 있다. 정해진 문법을 사용해야 원하는 결과를 얻을 수 있다. 그 문법의 기초가 되는 변수를 알아보자
1. Basic Syntax
let year = 1986;
// 변수 year를 선언하고 1986이라는 'number' type의 값을 할당하였다.
// ;의 경우 빠질 시 JavaScript가 자동으로 넣어주지만. 명시적으로 넣어주자.
2. 명명규칙
let isTrue; // 낙타법 camelCase 권장, snake_case비권장
//let hello world //띄워쓰기 안됨
//let 1element // 숫자가 맨앞 안됨
let _arg; // 밑줄가능하지만 권장하지 않음
//변수의 이름은 한눈에 알아볼 수 있도록 직관적으로 써야됨.
let isLuckyDay = true; //바로 알아볼 수 있어야 한다.
3. Variable Update
let number = 10;
number = number + 1; //11
nubmer += 1; //12(상기와 동일)
// -= *= /= 가능
number -= 1; //11
number--; //11 업데이트 전의 현재 값을 보여줌(##콘솔에서)
number; //10
//JavaScript는 Type이 고정되어 있지 않다.(##주의)
//다른 언어에서 변수 선언 시 type을 지정하여 사용하는 것과 달리
//JavaScript는 변수의 type이 변경될 수 있다.
//이런점이 단점이 될 경우도 있어, addon인 TypeScript가 있다.
number = "ty"; // type 'string'
number = false; // type 'boolean'
number = 123; // type 'number'
4. Const
Constant, 상수의 약자
- let과 비슷하게 동작하지만 할당 후 값을 변경할 수 없다.
- 변하지 않는 값을 사용할때 쓰인다.
- const를 쓰면 JavaScript가 업데이트를 막는다. Uncaught TypeError: Assignment to constant variable
5. Var
let, const가 나오기전 변수를 선언하는 유일한 방법이었으나, 지금은 권장하지 않는다.
6. Boolean(Primitive Type)
true와 false값을 가진다.
6.1. falsy value
- 값이 없다.
- 0
- -0
- null
- false
- NaN
- undefined
- ’‘(빈문자열)
- “false”(문자열)
- 외 값은 true
6.2. Boolean 객체와 Primitive Type boolean
- (Boolean 객체의 true, false === boolean type의 true, false) => false
- object type의 value가 undefined, null이 아닌 조건문에서는 true(값이 false인 Boolean 객체 포함)
let x = new Boolean(false);
if (x) {
//x true로 들어옴
}
let y = false;
if (y) {
//primitive type false는 안들어옴
}
//Boolean이 아닌값을 변환할때 Boolean 객체를 사용하면 안된다. Boolean 함수를 사용해야 한다.
let a = Boolean(expression); //추천
let b = new Boolean(expression); //비추천
//값이 false인 Boolean 객체를 포함한 어떤 객체를 Boolean객체의 초기값으로 넘겨주더라도 새로운 Boolean 객체는 true를 가진다.(말이 좀 어려우니 코드 참조)
let booleanObj = new Boolean(false); //초기값 거짓
let c = Boolean(booleanObj); //초기값 참
let stringObj = new String("Anything"); //문자열 객체
let d = Boolean(stringObj); //초기값 참
//Boolean primitive value에 Boolean object를 이용하면 안된다.
6.3. Constructor
Boolean(): Boolean 객체를 생성한다.
6.4. Instance Method
- Boolean.prototype.toString(): 객체의 값에 따라 문자열 ‘true’또는 ‘false’를 반환, Object.prototype.toString() 메서드를 재정의한다.
- Boolean.prototype.valueOf(): Boolean 객체의 원시값(primitive value)을 반환, Object.prototype.valueOf() 메서드 재정의
6.5. Example
//false값으로 초기화한 Boolean 객체 만들기
let bNoParam = new Boolean();
let bZero = new Boolean(0);
let bNull = new Boolean(null);
let bEmptyString = new Boolean("");
let bfalse = new Boolean(false);
//true값으로 초기화한 Boolean 객체 만들기
let btrue = new Boolean(true);
let btrueString = new Boolean("true");
let bfalseString = new Boolean("false");
let bSuLin = new Boolean("Su Lin");
let bArrayProto = new Boolean([]);
let bObjProto = new Boolean({});
참조
MDN:JavaScript/Grammar&Types/Declarations
MDN:let
MDN:const
MDN:var
MDN:Identifier
MDN:Boolean