본문 바로가기

전체 글

(27)
기타 연산자들 조건부 연산자 ( 삼항연산자 ) 조건부 연산자의 피연산자에는 어떤 타입도 올 수 있습니다. 첫 번재 피연산자는 불리언 값으로 평가됩니다.첫 번째 피연산자 값이 true로 평가되면 두 번째 피연산자가 평가되고, 그 값이 반환됩니다. 만약 첫 번째 피연산자 값이 false로 평가되면 세 번재 피연산자가 평가되고, 그 값이 반환됩니다. 123456function abs(x) { return x > 0 ? x : -x // 절대 값을 구함.} abs(1) // 1abs(-1) // 1cs if문을 사용해서 비슷한 결과를 얻을 수 있지만 좀 더 편리하고 간결한 문법을 제공합니다. 12345var userName = 'gaheeCho'; var greeting = "hello " + (userName ? userN..
평가 표현식 전역함수 eval() 문자열을 자바스크립트 코드로 해석하고 이를 평가한 결과를 값으로 출력합니다. 문자열 소스 코드를 동적으로 평가하는 기능은 매우 강력하지만 실제로는 거의 사용되지 않는다고 합니다.그리고 eval을 사용하면 eval( )이 평가하는 코드를 분석할 수 없어 자바스크립트 인터프리터가 미리 최적화를 할 수 없다고 합니다. eval()함수는 단 하나의 전달인자를 갖습니다. 전달인자로 문자열이 아닌 값을 전달하면 단순히 넘긴 값을 반환합니다. 전달인자로 문자열을 전달하면 문자열을 자바스클립트 코드로 해석합니다. 이때 해석하지 못하면 SyntaxError가 발생합니다. 전달인자로 넘긴 문자열이 자바스크립트 코드로 올바르게 해석될 경우에는, 코드를 평가한 다음에 코드에 포함된 마지막 표현식 또는 구..
변수 선언 변수 선언 자바스크립트에서는 변수를 사용하기 전에 변수 선언(declaration)을 해야 한다. 변수는 다음과 같이 var 키워드를 이용하여 선언한다. 12var i;var sum;cs var 키워드를 이용하여 여러 개의 변수를 선언할 수도 있다. 1var i, sumcs 그리고 변수 선언과 동시에 초기화를 할 수도 있다. 123var message = "hello"; var i = 0, j = 0, k = 0;cs var문에서 변수에 초기 값을 지정하지 않는다면, 변수는 값이 설정될 때까지 undefined값을 갖게 된다. 123var a; console.log(a); // undefinedcs var문은 for와 for/in 루프 안에 올 수도 있다. 이를 통해 루프 문법 안에서 루프 변수(loop..
객체지향설계 5대 원칙(SOLID) 중 인터페이스 분리 원칙(ISP) 인터페이스 분리 원칙 ( ISP : Interface Segregation Principle) 인터페이스 분리의 원칙(ISP)에 대해 설명하기 전에 인터페이스가 무엇인지 간단하게 설명을 하겠습니다. 인터페이스(Interface) 란? 어떤 클래스가 있고 그 클래스가 특정한 인터페이스를 사용하여 구현된다면 그 클래스는 반드시 그 인터페이스에 포함되어 있는 메소드를 구현하도록 강제하는 것. 1234567891011121314151617Interface Baby { public void cry();} class CuteBaby implements Baby { public void cry() { System.out.println("으앙"); }} class PrettyBaby implements Baby { p..
Git Tag 사용법 GIT에서 tag 기능을 지원합니다. 릴리즈 시 버전 관리를 위해 많이 사용한다고 합니다. 태그조회 git tag 생성한 태그들을 확인할 수 있습니다. 1234$ git tagv0.0.1v0.0.2v0.1.0cs 태그 내용 확인 git show [tagname] 특정 태그의 더 자세한 내용을 확인할 수 있습니다. 1234$ git show v0.0.1commit 5edd7420d915bda4c382c38b306e2f32b1cdbc68Author: abc Date: Fri Jan 13 17:54:03 2017 +0900cs 태그 생성 GIT의 태그는 Lightweight 태그와 Annotated 태그로 두 종류가 있습니다. Lightweight 태그git tag [tagname] 특정 커밋에 태그를 생성합..
기본 표현식 가장 간단한 형태의 표현식다른 표현식을 포함하지 않은 독립적 표현식자바스크립트에서 기본 표현식은 상수나 리터럴 값, 특정 키워드들 그리고 변수 참조를 말한다. 리터럴 12345120.12.33'hello'/pattern/cs 예약어 12345true // 불리언 true false // 불리언 false 값null // null 값this // '현재' 객체 cs this는 다른 키워드와 다르게 프로그램안에서 위치에 따라 각기 다른 값으로 평가된다. 변수 1234i // 변수 i의 값으로 평가된다.sum // 변수 sum의 값으로 평가된다.undefined // undefined는 전역 변수로 null 처럼 키워드가 아니다. Colored by Color Scriptercs 자바스크립트에서는 프로그램 안..
변수의 유효범위 변수의 유효범위란? 프로그램에서 어떤 변수가 정의되어 있는 영역. 전역변수(global variable) 이름 그대로 유효범위가 전역적자바스크립트 코드 전체에 걸쳐 정의되어 있다. 지역변수(local variable) 어떤 함수 안에서 선언된 변수오직 해당 함수 몸체 안에서만 정의되어 있다. 지역변수가 전역변수와 같은 이름을 갖는 경우에는 함수 내부에서 지역변수가 우선!전역 유효범위에서 var를 사용하지 않고 전역 변수를 선언할 수 있지만, 지역변수는 반드시 var를 사용해야한다. 전역변수로 선언하지 않은 변수를 var 없이 함수안에서 선언하면 전역변수로 자동 선언된다! 123456789101112scope = 'global'; function checkScope2() { scope = 'local'; ..
숫자 * 다른 프로그래밍 언어들과 다르게 자바스크립트는 정수 값과 실수 값을 구분하지 않는다. * 자바스크립트에서는 모든 숫자를 실수로 표현한다. * 자바스크립트는 숫자를 IEEE 754 표준에서 정의한 64비트 실수 형태로 표현한다. 따라서 가장 큰 숫자로 1.7976931348623157e+308 까지 표현할 수 있고 작게는 5e-324 만큼 표현할 수 있다. * 자바스크립트는 1.7976931348623157e+308 와 5e-324 사이의 정수 값을 정활하게 표현할 수 있다. 이보다 더 큰 정수 값을 사용한다면 낮 은 자리에 대한 정밀도를 잃을 수도 있다. 하지만 자바스크립트는 배열 인덱싱이나 비트연산과 같은 특정한 연산은 32비트 정수로 수행한 다. * 프로그램 안에서 있는 그대로 등장하는 숫자를 숫..