공부/JAVASCRIPT

[javasciprt] 데이터 타입 및 기본 코딩법

알로하리미 2021. 2. 28. 15:43
728x90

알로하~ javascript 배워봅시다~!

 

기억해야할 것.

javascript는 Dynamic typing(동적타입)언어이고, Runtime 언어이다.
(동적 타입 언어 : Groovy, Python, JavaScript, Ruby, Smalltalk, Lisp, Objective-C, PHP, Prolog)

이 의미는 어떤 변수에 데이터 타입을 지정하지 않고 값을 할당하였을 경우( ex) let a = 5 )
해당 변수에 대한 데이터 타입이 실행시점에 정해지게 된다는 것이다.
그래서 js는 코딩할때 값타입을 지정하지 않고도 변수에 여러 타입을 넣을 수 있는 것이다.

반대로 정적 타입 언어(정적 타입 언어 : Java,C, C++, C#, Scala,  Fortran, Haskell, ML, Pascal)
컴파일 시점에 데이터 타입이 지정되기 때문에 변수에 타입을 지정하고 
올바른 타입의 값을 할당하지 않았을 경우 컴파일 시점에서 에러가 난다.
- 당신의 회사가 IE(Internet Explorer)를 중요시 여긴다면 ES6 기본문법들은 제외 하세요. IE는 ES6문법과 호환되지 않습니다. 
- 'use strict' 를 상단에 작성하여 개발하세요.
javascript는 유연한 언어 이지만. 디버깅, 유지보수가 원할하게 진행될수 있도록 엄격하게 코딩하세요
코디 실수를 잡아 낼수 있고 , 제대로 고려되지 않은 기능들을 비활성하 시켜주고, 안전하지 않은 수행들에 대해 예외를 발생시켜줍니다.

 

데이터 선언

var, let, const
var : ES6 이전의 데이터 타입으로 많이 사용되는 변수타입. 기본적으로 선언도 필요없이 값을 할당 할 수 있다.
var hoisting : 먼저 할당하고 그 다음에 선언 할 수 있다. Runtime시에 var 선언 맨위로 끌어 올려 선언 해준다. 

let : ES6 문법이다. 변수를 선언하지 않고 값을 할당할시에는 에러가 난다. (IE사용불가)

const : 상수이다. 변수 선언시에 변수값을 변경할 수 없다. (IE11이상부터 사용 가능)

 

데이터 타입

primitive(single item) : number, string, bollean, null, undefined, symbol (값타입)

- number (숫자) : 이거 하나면 숫자타입이 끝. 

// 숫자 연산시 Infinity, -Infinity, NaN(not a number) 결과가 나올 수 있으므로
// 각항이 유효한 값인지 확인 후 연산하라

 

- string (문자열) : 'a' 문자열 하나든 'aaa' 여러개든 string이다.

let a = 'a' + 'aa' ; 
//a = 'aaa'
let b = `${a} 입니다.` ; 
//b = "aaa 입니다."

 

- boolean

// false : 0 , null, undefined, NaN, '' 모두 false로 판단된다.
// true : 위말고 다른 값들은 모두 true라 판단된다.

 

- null , undefined 차이

let nothing = null;//null은 명확하게 할당
let a; //선언은 되었지만 할당되지 않은 상태

 

- symbol

const a = Symbol('id');
const b = Symbol('id');
// a == b => false

const c = Symbol.for('id');
const d = Symbol.for('id');
// c == d => true

 

object : single item을 묶어서 관리하는 타입(참조타입)  > 아래 링크에 작성

function : first-class function (변수 할당가능 , 함수의 인자 가능, 함수 리턴 가능) > 아래 링크에 작성

 

 

[JAVASCRIPT] - [javascript] script사용법, async와 defer차이

[JAVASCRIPT] - [javascript] 연산자, 문자연결, 할당연산자, 비교연산자, 동등연산자, 논리연산자