[javascript] 최고의 자바 스크립트 구문 설탕

다음은 몇 가지 보석입니다.

리터럴 :

var obj = {}; // Object literal, equivalent to var obj = new Object();
var arr = []; // Array literal, equivalent to var arr = new Array();
var regex = /something/; // Regular expression literal, equivalent to var regex = new RegExp('something');

기본값 :

arg = arg || 'default'; // if arg evaluates to false, use 'default', which is the same as:
arg = !!arg ? arg : 'default';

물론 우리는 익명의 함수를 알고 있지만, 그것들을 리터럴로 취급하고 그 자리에서 (클로저로) 실행할 수 있다는 것은 훌륭합니다.

(function() { ... })(); // Creates an anonymous function and executes it

질문 : 자바 스크립트에서 사용할 수있는 다른 훌륭한 구문 설탕은 무엇입니까?



답변

현재 날짜 시간을 밀리 초로 가져옵니다.

Date.now()

예를 들어, 코드 섹션의 실행 시간을 측정하려면 다음을 수행하십시오.

var start = Date.now();
// some code
alert((Date.now() - start) + " ms elapsed");


답변

개체 멤버십 테스트 :

var props = {a : 1, b : 2};

(props의 "a") // true
(props의 "b") // true
(props의 "c") // false


답변

Mozilla (및 IE7)에서는 다음을 사용하여 XML 상수를 만들 수 있습니다.

var xml = <elem> </ elem>;

변수를 대체 할 수도 있습니다.

var elem = "html";
var text = "일부 텍스트";
var xml = <{elem}> {text} </ {elem}>;


답변

익명 함수와 클로저를 사용하여 개인 변수 (정보 숨김) 및 관련 get / set 메서드를 만듭니다.

var getter, setter;

(function()
{
   var _privateVar=123;
   getter = function() { return _privateVar; };
   setter = function(v) { _privateVar = v; };
})()


답변

프로토 타입 상속을 통해 네이티브 JavaScript 유형을 확장 할 수 있습니다.

String.prototype.isNullOrEmpty = function(input) {
    return input === null || input.length === 0;
}


답변

=== 유형 을 비교하는 데 사용 합니다 .

var i = 0;
var s = "0";

if (i == s) // 참

if (i === s) // 거짓


답변

여러 줄 문자열 :

var str = "이것은 \
모두 하나
끈.";

문자열에 공백을 추가하지 않고는 다음 줄을 들여 쓸 수 없기 때문에 사람들은 일반적으로 더하기 연산자로 연결하는 것을 선호합니다. 그러나 이것은 여기 에 좋은 문서 기능을 제공합니다.