2016-05-04 31 views
5

Tôi hiểu rằng từ khóa const đã được triển khai trên bảng trong các trình duyệt ngoại trừ các phiên bản IE10, nhưng nó có khả thi không? Nếu ai đó nhảy vào trang web của tôi trên IE10 < thì từ khóa "const" có được gán lại cho "var" không? nếu không thì toàn bộ trang web sẽ thất bại? tài liệu MDN trên từ khóa const cung cấp biểu đồ tiện dụng ở dưới cùng cho tôi biết rằng không chỉ có IE mà còn nhiều trình duyệt trên điện thoại di động cũng không hỗ trợ nó. nên tôi chỉ cần phế liệu nó và sử dụng var?Vì vậy, tôi đang sử dụng từ khóa const Javascript, điều gì sẽ xảy ra trong IE?

+0

https://www.microsoft.com/en-gb/developers/articles/5-ways-to-test-your-website-in-old-versions-of-ie/ –

Trả lời

4

Mang theo Babel, trình biên dịch ECMAScript 2015 (ES6) sang ECMAScript 5.

Nếu bạn viết:

const a = 123; 

Nó ra:

"use strict"; 

var a = 123; 

Nếu tiềm năng phá vỡ mã của bạn trên các trình duyệt được hỗ trợ là không đủ, tôi nghĩ rằng nên.

+0

khả năng tồn tại của điều này là gì vấn đề được khắc phục bằng cách sử dụng es5-shim? – lluisrojass

+0

Điều đó sẽ không hoạt động, es5-shim về cơ bản là tổng của rất nhiều các polyfills để sử dụng es5 trong es3, nhưng nó không transpile mã, và đó là những gì bạn cần để làm cho const hoạt động. Hoặc là sử dụng var, hoặc chuyển sang es6 với Babel –

3

IE11 trở lên hỗ trợ const nhưng IE10 trở xuống thì không.

Nếu bạn cố gắng sử dụng const trong bất kỳ trình duyệt nào không hỗ trợ, bạn sẽ gặp lỗi cú pháp. Nếu bạn phải hỗ trợ các trình duyệt cũ hơn, bạn không thể sử dụng const trừ khi bạn sử dụng trình chuyển đổi để biên dịch mã của bạn thành ES5. Babel là một ví dụ tốt về trình chuyển đổi này.

0

Nếu bạn muốn viết mã ES6 (ES2015) sạch bằng cách sử dụng const bạn có thể sử dụng trình biên dịch JS như Babel. Ví dụ:

const a = 1; 

nó biên dịch lại để

"use strict"; 
var a = 1; 

Nếu bạn muốn babel đau cấu hình sử dụng yeoman babel generator này.

+0

khả năng tồn tại của vấn đề này được khắc phục bằng cách sử dụng es5-shim là gì? – lluisrojass

Các vấn đề liên quan