[Node.js 강의-1] 변수 선언, 자료형

codeing999·2022년 10월 12일
0

JavaScript

목록 보기
14/24

구문설탕 : 똑같은 기능을 더 직관적이거나 짧게 다른 코드로 표현하는 것 (+=, a++ 이런거)

변수 선언

변수 선언 키워드 : var, let, const
var : 과거에는 var만 존재했는데 이제 var키워드는 사용하지 않아야함. 버그가 생길 수 있어서 let과 const를 만듬
const : 한번 정의되고나서는 변할 수 없음
const는 변수만 선언이 안되고 선언할 때 값을 같이 할당해야함.

let이나 var는 처음 선언됐을 때 값을 대입하지 않으면 undefined 값을 가짐. 참조했다고 에러는 안남.
선언되지 않은 변수를 참조하면 reference 에러가 난다. 에러메세지 잘 살펴 보기.

다른 언어에서는 대부분 10과 '10'을 다르고 구분을 하는데 자바스크립트는
10 == '10' 하면 true를 반환함. 엄연히 타입이 다른데. 그래서 ===이 나온 것.
그래서 ==는 이제 사용하면 안된다. 버그가 생기기 너무 쉬움

자료형

원시자료형 : 자바스크립트 가장 초기에 있던 자료형들. 나중에 생길 모든 타입들은 이 원시자료형을 기반으로 확장되었다.
• null : 어떤 값이 비어있음을 의도적으로 표현할 때 사용.
• 객체(object) (파이썬에서는 딕셔너리)
• {key : 'value'} 이렇게 사용 이때 key는 따옴표로 감싸도 안감싸도 똑같이 key다. 근데 띄어쓰기 있거나할 때 안감싸면 허용 안되서 에러남.
• key는 문자열 혹은 심볼 타입만 넣을 수 있다.
• 저 키 밸류 쌍을 프로퍼티(속성)이라고 하고 객체는 const로 선언하더라도 프로퍼티 바꾸는건 문제 안된다.
• 다만 const person = { age:15} 를
• person.age = 20; 이렇게 바꾸는건 되는데
• person = { age : 20} 이렇게는 못바꿈. (const라서)
• 위에껀 값을 바꾸는 건데 있는 걸 아예 새로 또 선언하는 느낌이라서?
• 가능하면 let보다 const쓰는게 버그가 없다.
• 띄어쓰기가 있을 때는 person.a ge = 20 이런 구문은 안되니까 person['age'] = 20
• 이렇게 써야함. 띄어쓰기뿐만아니라 허용되지 않는 형식은 무조건 [" "]로.

NaN : 유효하지 않은 숫자값을 표시. Nat a Number. 숫자 타입이긴함. 숫자를 뭔가 잘못계산했을 때 나옴.
30 - 'test'
• 함수(function) : 자바스크립트에서는 함수도 값으로 다룸.
• 함수 이름만 치고 ()안치면 함수 불른거긴 한데 아무 것도 안함.

const variable = function getMyName() {
	return '함수가 반환할 값';
}
variable(); // 위처럼 정의된 함수는 이렇게 사용할 수 있습니다.
// Print: '함수가 반환할 값'

• 위와 같은 형태로 변수에 할당할 수 있다. (저 할당된 변수가 완전 함수가 됐네 ()까지 치니까 함수 호출되서 반환까지 하네. 자바스크립트에서 함수는 값이라는게 이런건가보네)
• 저렇게도 되고 () 안치고 이름만 친 함수를 변수에 넣어도 변수의 값이 함수가 됨.

• Truthy (참스러운) 값. true는 그냥 true고
• false, '', NaN, 0, undefined, null 이것들이 거짓스런 값.

• Boolean() : 인자가 참인지 거짓인지 반환.

• if문 명령문 블록은 {}로 감싸주는게 가독성이 좋다.

profile
코딩 공부 ing..

0개의 댓글