[강의] 프로그래밍 핵심 개념 in JavaScript_자료형

김하은·2023년 10월 2일
0

코드잇 강의 정리

목록 보기
4/60

프로그래밍 핵심 개념 in JavaScript_자료형

숫자형

  • 사칙연산 외 두 가지 연산자가 더 있음
    %: 나머지 연산자7 % 3 = 1
    **: 거듭제곱 연산자 2 ** 3 = 8
  • 연산자 간 우선순위가 존재함

문자열

  • 문자열 내 따옴표를 표현하는 다양한 방법
    • 사용되지 않은 따옴표로 감싸기
    • 역슬래쉬\를 이용하기
    • 벡틱으로 감싸기
  • 문자열의 연산
console.log('3' + '5');	//'35'

불 대수

  • 일상적인 논리를 수학적으로 표현한 것
    숫자 --- 진리값 (true, false)
    연산 (+, -, /, *) --- and, or, not
  • 명제: 참 또는 거짓이 확실한 문제

불린형

참과 거짓을 표현하는 자료형
true, false

  • ===: 일치한다.
  • !==: 불일치한다.
  • 연산자
    and: &&
    or: ||
    not: ! (중첩사용가능 !!: 반대의 반대)

typeof 연산자

  • typeof value: value의 자료형을 문자열로 되돌려줌
  • typeof functionName: function
  • NaN: not a number
  • typeof 연산자의 우선순위는 사칙연산 보다 높으므로 괄호를 적절히 이용하기
    연산자 우선 순위

형변환

  • 값의 자료형을 다른 자료형으로 바꾸는 것
  • JS에서 기본적으로 제공하는 함수인 String, Number, Boolean을 사용함
Number('word'); // NaN
Number('2'); // 2
Number(true); // 1
Number(false); // 0

//Boolean은 일반적인 값을 받을 경우 true를 반환함
//그 이외를 falsy 값이라고 함
Boolean(''); // false
Boolean(0); // false
Boolean(NaN); // false

JS의 자동 형변환

  • js는 자동으로 형변환을 하기도 함
console.log('4' - true);	// 3

산술연산 (+, -, *, /, %, **)

연산되는 두 값을 모두 숫자형으로 변환 후 연산함
true ---> 1
false ---> 0
'3' ---> 3
NaN 값은 어떤 값과 연산을 해도 NaN이 나옴
'two' ---> NaN
+연산자는 주의! 문자열 연결 기능이 있으며 문자열 연결 기능이 숫자 더하기 보다 강함

console.log(4 + '2');	// '42'

관계 비교 연산 (<, <=, >, >=)

특별한 경우를 제외하고 두 값을 모두 숫자형으로 바꿈
비교 불가능한 경우는 false를 반환함

console.log('two' >= 1); // false

같음 비교 연산 (===일치, !==불일치, ==동등, !=부등)

일치 비교는 형변환이 일어나지 않음
동등 비교는 형변환이 일어남

console.log(1 === '1'); // false
console.log(1 === true); // false
console.log(1 == '1') // true
console.log(1 == true) // true

템플릿 문자열 (template strings)

  • 특별한 형식을 가진 문자열
  • 코드를 쉽고 가독성 있게 작성할 수 있음
  • +기호 생략할 수 있음
  • 벡틱 사용하기
let myNumber = 3;

function getTwice(x) {
  return x * 2;
}

console.log(`${myNumber}'의 두 배는 ${getTwice(myNumber)}입니다.`);

'값이 없음'을 나타내는 자료형

  • null: 의도적으로 표현할 때 사용하는 값
  • undefined: 값이 없다는 것을 확인하는 값
console.log(null == undefined); // true 비슷한 의미를 가지고 있어서
console.log(null === undefined); // false 자료형이 달라서
let cup;
console.log(cup); // undefined
cup = 'water';
console.log(cup); // water
cup = null;
console.log(cup); //null
profile
아이디어와 구현을 좋아합니다!

0개의 댓글