ECMAScript 6 wprowadził to letoświadczenie . Słyszałem, że jest opisywana jako zmienna „lokalna”, ale wciąż nie jestem pewien, jak zachowuje się inaczej niż varsłowo kluczowe. Jakie są różnice? Kiedy należy letzużyć
Wersja specyfikacji ECMAScript z 2015 r., Teraz standard (ECMAScript 2015). Tego znacznika należy używać tylko wtedy, gdy pytanie dotyczy konkretnie nowych funkcji lub zmian technicznych przewidzianych w ECMAScript 2015.
ECMAScript 6 wprowadził to letoświadczenie . Słyszałem, że jest opisywana jako zmienna „lokalna”, ale wciąż nie jestem pewien, jak zachowuje się inaczej niż varsłowo kluczowe. Jakie są różnice? Kiedy należy letzużyć
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. Uwaga moderatora: Oprzyj się potrzebie edycji...
W projekcie, nad którym współpracuję, mamy dwie możliwości wyboru systemu, z którego możemy korzystać: Importowanie modułów za pomocą requirei eksportowanie za pomocą module.exportsi exports.foo. Importowanie modułów za pomocą ES6 importi eksportowanie za pomocą ES6export Czy są jakieś korzyści...
Wydaje się to oczywiste, ale byłem trochę zdezorientowany, kiedy używać nawiasów klamrowych do importowania jednego modułu w ES6. Na przykład w projekcie React-Native, nad którym pracuję, mam następujący plik i jego zawartość: initialState.js var initialState = { todo: { todos: [ {id: 1, task:...
Zwracając obiekt z funkcji strzałki, wydaje się, że konieczne jest użycie dodatkowego zestawu {}i returnsłowa kluczowego z powodu niejasności w gramatyce. Oznacza to, że nie mogę pisać p => {foo: "bar"}, ale muszę pisać p => { return {foo: "bar"}; }. Jeśli funkcja strzałki zwraca coś innego...
Plik: SafeString.js // Build out our basic SafeString type function SafeString(string) { this.string = string; } SafeString.prototype.toString = function() { return "" + this.string; }; export default SafeString; Nigdy wcześniej nie widziałem export default. Czy są jakieś równoważne rzeczy,...
Gdy jest to ważne, aby przejść propsdo super()i dlaczego? class MyComponent extends React.Component { constructor(props) { super(); // or super(props) ?
Funkcje strzałek w ES2015 zapewniają bardziej zwięzłą składnię. Czy mogę teraz zastąpić wszystkie moje deklaracje / wyrażenia funkcji funkcjami strzałek? Na co muszę uważać? Przykłady: Funkcja konstruktora function User(name) { this.name = name; } // vs const User = name => {...
Obecnie w ES5 wielu z nas używa następującego wzorca w ramach do tworzenia klas i zmiennych klas, co jest wygodne: // ES 5 FrameWork.Class({ variable: 'string', variable2: true, init: function(){ }, addItem: function(){ } }); W ES6 możesz tworzyć klasy natywnie, ale nie ma opcji,...
Czytam sporo reactkodu i widzę takie rzeczy, których nie rozumiem: handleChange = field => e => { e.preventDefault(); /// Do something
Czy można tworzyć prywatne właściwości w klasach ES6? Oto przykład. Jak mogę uniemożliwić dostęp instance.property? class Something { constructor(){ this.property = "test"; } } var instance = new Something(); console.log(instance.property); //=>
Wiem, że >=operator oznacza więcej lub więcej, ale widziałem =>w jakimś kodzie źródłowym. Jakie jest znaczenie tego operatora? Oto kod: promiseTargetFile(fpParams, aSkipPrompt, relatedURI).then(aDialogAccepted => { if (!aDialogAccepted) return; saveAsType = fpParams.saveAsType; file...
Nie rozumiem co jest nie tak. Węzeł v5.6.0 NPM v3.10.6 Kod: function (exports, require, module, __filename, __dirname) { import express from 'express' }; Błąd: SyntaxError: Unexpected token import at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:387:25) at...
O ile rozumiem, w ES7 / ES2016 umieszczanie wielu awaitw kodzie będzie działać podobnie do łączenia łańcuchowego .then()z obietnicami, co oznacza, że będą one wykonywać jeden po drugim, a nie równolegle. Na przykład mamy ten kod: await someCall(); await anotherCall(); Czy rozumiem to...
Pytanie skierowane jest do osób, które zastanawiały się nad stylem kodu w kontekście nadchodzącego ECMAScript 6 (Harmony) i które już pracowały z tym językiem. Za pomocą () => {}i function () {}otrzymujemy dwa bardzo podobne sposoby pisania funkcji w ES6. W innych językach funkcje lambda często...
Jakie są faktyczne zastosowania WeakMapstruktury danych wprowadzonej w ECMAScript 6? Ponieważ klucz słabej mapy tworzy silne odniesienie do odpowiadającej jej wartości, dlatego wartość, która została wstawiona do słabej mapy, nigdy nie zniknie, dopóki klucz będzie żył, dlatego nie można jej używać...
Powiedzmy, że mam optionszmienną i chcę ustawić wartość domyślną. Jaka jest korzyść / wada tych dwóch alternatyw? Korzystanie z rozkładania obiektów options = {...optionsDefault, ...options}; Lub używając Object.assign options = Object.assign({}, optionsDefault, options); To zatwierdzenie...
Próbuję uporządkować swój stan za pomocą zagnieżdżonej właściwości w następujący sposób: this.state = { someProperty: { flag:true } } Ale aktualizowanie takiego stanu, this.setState({ someProperty.flag: false }); nie działa Jak można to zrobić
Korzystając z modułów ES6, wiem, że mogę aliasować nazwany import import { foo as bar } from 'my-module'; I wiem, że mogę zaimportować domyślny import import defaultMember from 'my-module'; Chciałbym dokonać aliasu domyślnego importu i myślałem, że następujące będą działać import defaultMember...
AKTUALIZACJA : Niedawno pojawił się genialny artykuł z Mozilli . Przeczytaj, jeśli jesteś ciekawy. Jak zapewne wiesz, planują dołączyć nowy typ prymitywny Symbol do ECMAScript 6 (nie wspominając o innych zwariowanych rzeczach). Zawsze myślałem, że :symbolpojęcie w Ruby jest niepotrzebne;...